2012-05-03 12 views
0

Google Calendar APIを使用するZendフレームワークを使用するためのIBM.comのチュートリアルに取り組んでいます。私は文字通りチュートリアルのコードをコピーして使用しようとしましたが、動作していないようです。私のPHPファイルには次のものが含まれます。GoogleカレンダーにZendを使用してWebページを生成しない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 = "[email protected]"; //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を学んでいるので、どんな助けも非常に高く評価されます!

+0

投稿したコードの壁のほとんどは、あなたの質問とは関係ありません。 http://meta.stackexchange.com/a/129787/164367 – vascowhite

+0

@vascowhite申し訳ありません。私はちょうどPHPを学んでいるので、どのコードが適切で何かが正確ではないことは完全にはわかりません。私は少しそれを絞り込んだ。 – Daniel

+0

まあ、ありがとう。 :) – vascowhite

答えて

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 /ライブラリをダウンロードしてください。しかしあなたが使っているコードは非難されています。私はまだそれを使っていますが、GoogleカレンダーAPI v3に切り替えることをお勧めします。同じページで、そのドキュメントを見つけることができます。

関連する問題