2017-09-04 17 views
-1

我只想访问我自己的gmail帐户并检索10条最新消息。我的身份验证非常困难,所以我甚至可以尝试这种方式。Gmail API如何进行身份验证以使用PHP访问自己的数据?

我跟着这里的说明:https://developers.google.com/gmail/api/quickstart/php

所有似乎工作,但现在该怎么办?文档很难遵循。 API调用API Explorer工作,但我应该如何访问PHP中的oAuth标记?

谷歌提供了以下的exaple功能:

function listMessages($service, $userId) { 
    $pageToken = NULL; 
    $messages = array(); 
    $opt_param = array(); 
    do { 
    try { 
     if ($pageToken) { 
     $opt_param['pageToken'] = $pageToken; 
     } 
     $messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param); 
     if ($messagesResponse->getMessages()) { 
     $messages = array_merge($messages, $messagesResponse->getMessages()); 
     $pageToken = $messagesResponse->getNextPageToken(); 
     } 
    } catch (Exception $e) { 
     print 'An error occurred: ' . $e->getMessage(); 
    } 
    } while ($pageToken); 

    foreach ($messages as $message) { 
    print 'Message with ID: ' . $message->getId() . '<br/>'; 
    } 

    return $messages; 
} 

如何获得$service?我假设这是指存储在client_secrets.json中的密钥,但我不确定如何访问。

我知道这是一个有点基本的问题(基本上谷歌没有解释它),但我相信我不是唯一一个为此而斗争的人。

谢谢!

回答

0

你在共同的捕获 - 22 - 我们都在那里。

您想使用Google API xxx(您的情况为gmail),因此您需要阅读有关Gmail API的文档。他们对OAuth进行了通过引用,并提供了一个链接,但是这里有一条消息传递的信息,因此您可以阅读它,然后返回到Gmail文档,希望能够复制/粘贴一些示例代码。

不幸的是,您可能不得不回到OAuth文档并花几个小时阅读。你会知道你何时了解它,因为你将能够向你自己解释认证和授权之间的区别。主要困难在于大多数示例代码和解释与您的应用程序有许多用户的用例有关,每个用户都希望使用您的应用程序安全地访问他们自己的电子邮件。单个用户想要访问他自己的电子邮件的用例是一个边缘案例,因此没有很好地解释。这篇文章可能会帮助How do I authorise an app (web or installed) without user intervention? (canonical ?)。我为GDrive写了它,但它也可能适用于Gmail。

相关问题