そこで、1.10 で Zend_Oauth ライブラリを使用して Google からアクセス トークンを取得する方法を見つけました。ここで、連絡先を取得したいとしましょう...
$config = array(
'consumerKey' => 'zzz',
'signatureMethod' => 'HMAC-SHA1',
'consumerSecret' => 'xxx'
);
$token = unserialize($_SESSION['GOOGLE_ACCESS_TOKEN']);
$client = $token->getHttpClient($config);
$client->setMethod(Zend_Http_Client::GET);
// $client->setParameterGet('max-results', '10000');
$gdata = new Zend_Gdata($client);
$gdata->setMajorProtocolVersion(3);
$query = new Zend_Gdata_Query('http://www.google.com/m8/feeds/contacts/default/full');
// $query->MaxResults=100;
$feed = $gdata->getFeed($query);
$feed
25個の接点がついた可愛らしいオブジェです。しかし、1回のプルでより多くを取得したい場合、機能する最大結果を指定する方法はないようです.
コメントを外すclient->setParameterGet
と無視されます。応答を取得するために指定$client->setUri
して使用すると機能$rawdata = client->request()
しますが、返されたフィード データを処理する際に他の問題が発生します...簡単に処理するために GData に取得するなどです。
私は試しましたが、有効なXMLと思われるもの$feed = $gdata->importString($rawdata->getBody())
を返し、エラーをスローしますが、.$rawdata->getBody()
$feed->totalResults
$gdata->getFeed($query)
コメントを外すと$query->MaxResults=100;
、$gdata->getFeed($query)
Google は「不明な認証ヘッダー」を含む 401 を返します。
では、Oauth トークンで Zend_GData を使用しているときにパラメーターを指定することは可能でしょうか? それとも、独自のリクエストを作成してから、解析に Zend_Feed (またはその他の XML/フィード ディセクタ) を使用する必要がありますか?