Google Calendar / PHP newbの質問

google-calendar-api php zend-framework
Google Calendar / PHP newbの質問

私はgoogle Calendar API、Zend docs、およびここで情報を探し回っていますが、私が見つけたほぼすべてのことは、PHPについてすでに知っていることを前提にしているように見えるので、さらに迷子になっています。 私はかなりのプログラミング経験があります…​ と…​ ええと… FORTHバリアント。 とにかく! 私はカレンダーイベントからすべての重要なデータを前述のFORTHバリアントに取得するために使用できるPHPスクリプトの出力を渡そうとしています。 私を壁に追い込んでいるのは、メッセージのUIDほど単純なものを取得する方法がわからないことです。 これが私が働いているものです:

function outputCalendar($client)
{
  $gdataCal = new Zend_Gdata_Calendar($client);
  $eventFeed = $gdataCal->getCalendarEventFeed();
  foreach ($eventFeed as $event) {
    echo $event->title->text .  " (" . $event->id->text . ")\n";
    foreach ($event->when as $when) {
      echo $when->startTime . "\n";
    }
  }
}

これは、彼らが私に与えたサンプルコードに基づいており、例のようにXMLタグでフォーマットする代わりに、それぞれを新しい行に置くだけです(他の言語に簡単に引き込めます)。

今、 `echo $ when→ startTimeを追加しようとしました。 “\ n”; `ループに戻りますが、それは単に私に伝えます:

_
致命的なエラー:/var/mucktools/Zend/Gdata/App/Base.php:484で「プロパティuidが存在しません」というメッセージを含むキャッチされない例外「Zend_Gdata_App_InvalidArgumentException」
_

したがって、明らかに、UIDを間違った方法で取得しようとしています。 さて、ここにあります。 この2行

    echo $event->title->text .  " (" . $event->id->text . ")\n";
      echo $when->startTime . "\n";

…​are pulling data from the event. However, ‘title’. ‘text’,
「startTime」はすべて、後部から引き出されたもののように見えます。 認知的には、それは真実ではないことを知っています。 ここにはライブラリとAPIがあります。 しかし、$ eventから取り出すことができるすべてのがらくたのリストを見つけることができる場所と、そのための構文を知りたいです。 誰かがこれを手伝ってくれる?

そして、あなたが尋ねる前に、はい、PHPスクリプトの出力を取得し、それをあいまいなFORTHバリアントに詰め込む非常に良い理由があります。 いいえ、これほど複雑な方法はありません。 ここで宿題をしました。

  -1  0


ベストアンサー

Zend Gdataのドキュメントを読んでいると確信しています。 これは、getCalendarEventFeed()にZend_Gdata_Queryオブジェクトを提供する必要があることを示しています。それ以外の場合は、公開データを取得するだけです。

コードは次のようになります。

$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$user = "[email protected]";
$pass = "userpassword";
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);

$gDataCal = new Zend_Gdata_Calendar($client);
$query = $gDataCal->newEventQuery();
$query->setVisibility('private');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setFutureevents('true');
$eventFeed = $gDataCal->getCalendarEventFeed($query);
foreach ($eventFeed as $event) {
    echo $event->title . " (" . $event->id . ")\n";
        foreach($event->when as $when){
            echo $when->startTime . "\n";
        }
}

うまくいけば、正しい方向に着手できるはずです。

また、これを機能させるには、PHPでphp_openSSLモジュールを有効にする必要がありますが、すでに有効になっていることを前提としています。

0


タイトルとURLをコピーしました