因此,我想出了如何使用 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 个联系人的可爱对象。但是,如果我想在一次拉动中获得更多,似乎没有一种方法可以指定有效的最大结果。
如果我取消注释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。
那么在使用 Zend_GData 和 Oauth 令牌时是否可以指定参数?还是我必须构建自己的请求,然后使用 Zend_Feed(或其他一些 XML/Feed 解析器)进行解析?