Gmail oauth imap zend检索从Gmail而不是会话



我计划使用google oauth IMAP注册我的网站。我使用zend框架。http://code.google.com/p/google-mail-xoauth-tools/wiki/PhpSampleCode我也在使用3条腿的方法来注册当我浏览样例threegged .php。我发现,如果它有电子邮件地址收件箱,他把它保存在一个会话中,然后去访问gmail帐户,一旦他返回,他从会话中获取电子邮件id

$ email_address = $ _SESSION [' email_address '];

行No.121

$config = new Zend_Oauth_Config();

配置-> setoption(选项)美元;

配置-> setToken ($ accessToken);

配置-> setRequestMethod(得到);

$url = 'https://mail.google.com/mail/b/'。email_address美元。'/imap/';

我的要求是我不想有电子邮件地址被保留在会话,而不是我想要给定的gmail地址被检索美元的电子邮件地址。我怎么能做到呢?Zend框架中有支持它的函数吗?

http://sites.google.com/site/oauthgoog/Home/emaildisplayscope

你需要将授权url与你请求权限的其他url一起包含:https://www.googleapis.com/auth/userinfo.email

当你真正获得授权令牌时,你可以这样做:

// Get access token from session after authorization process is complete.
$accessToken = unserialize($_SESSION['ACCESS_TOKEN']);
// Retrieve email address using Access Token
$erequest = $accessToken->getHttpClient($options);
$erequest->setUri('https://www.googleapis.com/userinfo/email');
$erequest->setMethod(Zend_Http_Client::GET);
$ereturn = $erequest->request();
parse_str($ereturn->getBody(), $earray);
$email_address = $earray['email'];
// Retrieve mail using Access Token
$config = new Zend_Oauth_Config();
$config->setOptions($options);
$config->setToken($accessToken);
$config->setRequestMethod('GET');
$url = 'https://mail.google.com/mail/b/' .
   $email_address . 
   '/imap/';

在对访问数据的令牌进行身份验证之后。然后,电子邮件地址可以用于您的邮件请求或其他任何需要电子邮件地址的邮件。

最新更新