我试图找出谷歌的日历,但是当我需要推送或获取数据时,我无法理解我需要在我的数据库中存储哪些字符串来获取访问令牌。
我向Google提出请求并返回:
?code=4/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#
然后我进行身份验证:
$client->authenticate($_GET['code']);
然后我获得访问令牌:
$client->getAccessToken()
这一切都很有效。但是,我不想要每次都要求用户进行身份验证。我可以存储$ _GET ['code']字符串,然后在不让用户每次进行身份验证的情况下请求访问令牌吗?
感谢。
答案 0 :(得分:1)
是的,这绝对是可能的。
您需要阅读OAuth 2.0 for Web Server Applicaitons中的offline access。这样可以防止用户每次都在同意屏幕上提示您的应用程序进行授权。
要使用“离线访问”,您需要将以下代码段应用于您的应用:
$client->setAccessType("offline");
您可能还想在此链接上阅读有关OAuth 2.0的更多信息:https://developers.google.com/identity/protocols/OAuth2
希望它有所帮助,祝你好运!