GMAIL API - 永久令牌访问

时间:2017-08-23 08:14:48

标签: php access-token gmail-api

经过多次研究后,我现在可以使用我的php代码检索我的gmail收件箱,但我想知道是否可以获得API的永久令牌访问权限而不必强制使用OAuth登录。

我正在制作一个可以检索3个不同gmail收件箱的小应用程序,而那些使用我的应用程序的人不会浪费时间将我的gmail应用程序授权给不同的收件箱。

我的意思是,有没有办法避免授权每次我尝试检索我的gmail收件箱,如永久令牌访问我只会得到一次,然后将其存储到我的数据库?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

没有永久令牌,但有刷新令牌:

  

Handling authorization requests

     

交换访问令牌的授权码

     

授权码是您的服务器可以使用的一次性代码   交换访问令牌。此访问令牌将传递到Gmail   API允许您的应用程序在有限的时间内访问用户数据。

     

如果您的应用需要离线访问,则第一次使用您的应用   交换授权代码,它还接收刷新令牌   它用于在前一个令牌之后接收新的访问令牌   过期。您的应用程序存储此刷新令牌(通常在一个   服务器上的数据库)供以后使用。

     

重要提示:始终存储用户刷新令牌。如果您的应用需要   新的刷新令牌必须使用approval_prompt发送请求   查询参数设置为强制。这将使用户看到一个对话框   再次授予您的申请许可。

这是Gmail API Quickstart

的摘录
// Refresh the token if it's expired.
  if ($client->isAccessTokenExpired()) {
    $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
    file_put_contents($credentialsPath, json_encode($client->getAccessToken()));
  }