我正在尝试使用PHP和CodeIgniter以及OAuth2库从gmail获取电子邮件。我已经设置了OAuth2以获取用户访问令牌等。我可以通过执行以下操作获取用户信息
public function get_user_info(OAuth2_Token_Access $token)
{
$url = 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&'.http_build_query(array(
'access_token' => $token->access_token,
));
$user = json_decode(file_get_contents($url), true);
return array(
'uid' => $user['id'],
'nickname' => url_title($user['name'], '_', true),
'name' => $user['name'],
'first_name' => $user['given_name'],
'last_name' => $user['family_name'],
'email' => $user['email'],
'location' => null,
'image' => (isset($user['picture'])) ? $user['picture'] : null,
'description' => null,
'urls' => array(),
);
}
我现在想做的是获取一些电子邮件。我已经在谷歌上搜索了一些有关如何获取电子邮件的代码,但我唯一能看到的就是https://mail.google.com/mail/feed/atom/
。我在Google OAuth2 Playground上找到了这个,但除了直接导航到它之外,我不知道如何使用它。
谁能给我一些建议?理想情况下,我想获取不仅仅是新的电子邮件(这似乎是上面的链接所做的)。
使用基于 REST 的接口,您目前只能获取未读消息源。如果要访问用户的所有电子邮件,则必须使用IMAP。Google开发了一种使用OAuth2进行IMAP/SMTP身份验证的方法,您可以使用这种方法。