因此,我想出瞭如何使用1.10中的Zend_Oauth庫從Google獲取訪問令牌。現在可以說,我想我的聯繫人...使用Oauth標記時在Zend_GData中指定參數?
$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個接觸可愛的對象。但是如果我想在單拉中獲得更多,似乎沒有一種指定最大結果的方法。
如果我取消註釋client->setParameterGet
它被忽略。如果我指定$client->setUri
並使用$rawdata = client->request()
來獲得響應,它會生效,但是隨後處理返回的訂閱源數據會出現其他問題...例如將其轉換爲GData以便於處理。
我試過$feed = $gdata->importString($rawdata->getBody())
但同時$rawdata->getBody()
返回什麼似乎是有效的XML,$feed->totalResults
拋出一個錯誤,雖然它不會,如果我用$gdata->getFeed($query)
。
如果我取消註釋$query->MaxResults=100;
使用$gdata->getFeed($query)
Google返回一個帶有「未知授權標頭」的401。
那麼在使用帶有Oauth標記的Zend_GData時可能指定參數?或者我將不得不構建自己的請求,然後使用Zend_Feed(或其他XML/Feed解析器)進行解析?