Refresh Google drive access__token(刷新 Google 云端硬盘访问权限__token)
问题描述
我将 Google 云端硬盘集成到我的应用中.并且希望每次在连接的驱动器帐户中发生更改时接收推送通知/网络挂钩.access_token 在驱动器帐户连接后一小时后过期,之后我无法收到任何 webhook.如何刷新它并自动刷新?
I integrate Google Drive to my app. And want to receive push notifications/webhooks every time something changed in a connected drive account. access_token expires after an hour since drive account connected and after that I can't receive any webhooks. How can I refresh it and refresh automatically?
推荐答案
可以使用刷新令牌.访问令牌可以通过刷新令牌进行更新.可以按如下方式检索此刷新令牌.首先,获取refreshtoken需要以下信息.
You can use refresh token. The access token can be updated by the refresh token. This refresh token can be retrieved as follows. At first, following information is required for retrieving refreshtoken.
- 客户 ID
- 客户端密码
- 重定向 URI
- 范围
从您的问题来看,您似乎已经拥有一个访问令牌.所以我认为你有以上信息.
From your question, it seems that you already have an accesstoken. So I think that you have above information.
接下来,使用上述信息,它检索您的应用程序可用于获取访问令牌的授权代码.请制作如下的URL,放到您的浏览器中,点击授权.我总是使用此 URL 检索代码并检索刷新令牌.可以通过包含 access_type=offline 来检索刷新令牌.
Next, using above information, it retrieves Authorization Code that your application can use to obtain the access token. Please make an URL as follows and put it to your browser, and authorize by click. I always retrieve the code using this URL and retrieve the refresh token. The refresh token can be retrieved by including access_type=offline.
https://accounts.google.com/o/oauth2/auth?
response_type=code&
approval_prompt=force&
access_type=offline&
client_id=### your_client_ID ###&
redirect_uri=### edirect_uri ###&
scope=### scopes ###
授权码显示在浏览器上或作为 URL.您可以使用代码检索刷新令牌.
Authorization Code is shown on browser or as an URL. You can retrieve the refresh token using the code.
以下 2 个示例是 python 脚本.
Following 2 samples are python scripts.
检索刷新令牌:
import requests
r = requests.post(
'https://accounts.google.com/o/oauth2/token',
headers={'content-type': 'application/x-www-form-urlencoded'},
data={
'grant_type': 'authorization_code',
'client_id': '#####',
'client_secret': '#####',
'redirect_uri': '#####',
'code': '#####',
}
)
使用刷新令牌检索访问令牌:
import requests
r = requests.post(
'https://www.googleapis.com/oauth2/v4/token',
headers={'content-type': 'application/x-www-form-urlencoded'},
data={
'grant_type': 'refresh_token',
'client_id': '#####',
'client_secret': '#####',
'refresh_token': '#####',
}
)
您可以在此处查看详细信息.https://developers.google.com/identity/protocols/OAuth2WebServer
You can see the detail infomation here. https://developers.google.com/identity/protocols/OAuth2WebServer
这篇关于刷新 Google 云端硬盘访问权限__token的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:刷新 Google 云端硬盘访问权限__token
基础教程推荐
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
