0

Zend フレームワークを使用して Google Calendar API を操作するための IBM.com のチュートリアルに取り組んでいます。チュートリアルから文字通りコードのチャンクをコピーして使用しようとしましたが、機能していないようです。私のphpファイルには以下が含まれています:

<!--Some HTML is above here-->
  <body>
    <?php
    // load library
    require_once 'Zend/Loader.php';
    Zend_Loader::loadClass('Zend_Gdata');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    Zend_Loader::loadClass('Zend_Gdata_Calendar');
    Zend_Loader::loadClass('Zend_Http_Client');

    // create authenticated HTTP client for Calendar service
    $gcal = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
    $user = "username@gmail.com"; //replace with my username
    $pass = "pass"; //replace with my password
    $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $gcal);
    $gcal = new Zend_Gdata_Calendar($client);

    // generate query to get event list
    $query = $gcal->newEventQuery();
    $query->setUser('default');
    $query->setVisibility('private');
    $query->setProjection('basic');

    // get and parse calendar feed
    // print output
    try {
      echo "<!--this comment is seen-->\n";
      $feed = $gcal->getCalendarEventFeed($query);
      echo "<!--this comment is not seen-->\n";
    } catch (Zend_Gdata_App_Exception $e) {
      //this doesn't happen.
      echo "Error: " . $e->getResponse();
    }
    ?>
    <h1><?php echo $feed->title; ?></h1>
    <?php echo $feed->totalResults; ?> event(s) found.
    <p/>
    <ol>
  </body>

文字通り、このコードに加えた唯一の変更は、ユーザー名とパスワードを自分の電子メール アドレスとパスワードに置き換えることです。コードの実行が try ブロック内のステートメントに到達すると、失敗したように見えますが、catch ブロックではキャッチされませんZend_Gdata_App_Exception。ただし、生成されたページ ソースは、PHP がクラッシュしていることを明確に示しています。

  <!--Some HTML is above here-->
  <body>
  <!--this comment is seen-->

その後何もなし。私はここでその場で PHP を学んでいるので、どんな助けでも大歓迎です!

4

1 に答える 1

1
<?php

**$path = 'ZendGdata/library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $path);**

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');

...

そして、公式の Google カレンダー API デベロッパー ガイドであるhttps://developers.google.com/google-apps/calendar/v1/developers_guide_phpで説明されているように、ZendGdata/library をダウンロードする必要があります。ただし、使用しているコードは非推奨です。私はまだそれを使用していますが、Google カレンダー API v3 に切り替えることをお勧めします。同じページでそのドキュメントを見つけることができます。

于 2012-06-07T11:49:50.607 に答える