Zend framework 使用Oauth访问Zend Gdata和Gmail提要

Zend framework 使用Oauth访问Zend Gdata和Gmail提要,zend-framework,oauth,gmail,zend-gdata,Zend Framework,Oauth,Gmail,Zend Gdata,在Zend Gdata模块中,有自己的文档和日历类,但Gmail没有。你知道一些有用的例子吗 因为我自己无法获得gmail工作。我可以轻松地从Oauth获得令牌和Zend确实提供了完美工作的库,比如Zend_Gdata_Docs 我只是想证明我的观点: $token = unserialize($this->user->google_token); $httpClient = $token->getHttpClient($google_oauth_config); $clien

在Zend Gdata模块中,有自己的文档和日历类,但Gmail没有。你知道一些有用的例子吗

因为我自己无法获得gmail工作。我可以轻松地从Oauth获得令牌和Zend确实提供了完美工作的库,比如Zend_Gdata_Docs

我只是想证明我的观点:

$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();
但是像那样直接访问它似乎破坏了某些事情/或者某些事情没有完成。谷歌告诉我401未经授权的访问

为了进一步缩小问题的范围,我修改了我的工作文档代码,这样我就可以手动设置URI,然后执行相同的直接请求()(我根本不使用Gdata_docs类),而且它还会在Google端触发错误。所以问题似乎就出在这个直接的请求上

如果有人能为我们应该做的事情提供一些有用的建议,我将不胜感激!或者我需要创建新类,扩展Gdata并以这种方式进行尝试吗?这是我能想到的全部。

也许你可以试试

    $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);

由于所有这些问题,我决定放弃zend,使用Google的Oauth模块,这不是很好,但更好。