2011-11-09 7 views
1

Zend Gdataモジュールには、ドキュメントとカレンダー用の独自のクラスがありますが、Gmail用のクラスはありません。あなたは実用的な例を知っていますか?Zend GdataとOauthによるGmailフィードアクセス

Gmailの仕事は自​​分ではできません。私は、ZendがZend_Gdata_Docsのように問題なく動作するように、Oauthのトーク​​ンを手軽に入手しています。

$token = unserialize($this->user->google_token); 
$httpClient = $token->getHttpClient($google_oauth_config); 
$client = new Zend_Gdata_Docs($httpClient); 
// Retrieve user's list of Google Docs 
$feed = $client->getDocumentListFeed(); 

foreach($feed->entries as $entry) 
{ 
    $docs[] = $entry; 
} 

と私がすべきように私は、ドキュメントを取得する:

私はちょうど私のポイントを証明します。

メールを受け取る方法は?そこには準備ができて、クライアントはそれのためませんので、私はちょうど右のエンドポイントにリクエストを強制しようとした:

$token = unserialize($this->user->google_token); 
$httpClient = $token->getHttpClient($google_oauth_config); 
$httpClient->setUri("https://mail.google.com/mail/feed/atom"); 
$response = $httpClient->request(); 

しかし、直接そのようにアクセスするには、何か/または何か行われませんを壊したようです。 Googleは私に、401のアクセスを習慣化していないと言います。

問題をさらに絞り込むために、作業用のドキュメントコードを変更して、手動でURIを設定してから、同じ直接リクエスト()(Gdata_Docsクラスを使用しないでください)とエラーを発生させます。 Googleの終わり。だから問題はその直接の要求にあるようです。

何か助けが必要な人がいたら、何をすべきか、私は感謝以上のものです!または、私はGdataを拡張し、それをそのように試して、新しいクラスを作成する必要がありますか?それは私が思い付くことができるすべてです。

+0

これらの問題のため、私はzendを落とし、GoogleのOauthモジュールを使用することにしました。 – Jasmo

答えて

0

お試しください。

$httpClient = $accessToken->getHttpClient($this->_oAuthOptions); 
    ($httpClient instanceof Zend_Gdata_HttpClient); 
    $httpClient->setUri("https://mail.google.com/mail/feed/atom/"); 
    $httpClient->setParameterGet('server', 'mail'); 
    $httpClient->setMethod('GET'); 
    $response = $httpClient->request(); 
    print_r($response); 
関連する問題