Mat*_*att 1 python oauth oauth-2.0 dropbox-api python-requests
我正在尝试将用户添加到我的 Dropbox 应用的开发用户中。为此,我似乎必须连接到端点/token/from_oauth1或/和/oauth2/token生成它们的访问令牌。我是使用 API 的新手,并且正在努力理解如何在我的代码中实现 OAuth/OAuth2。我正在使用requests图书馆这样做。
这是我尝试过但对我不起作用的示例:
import requests
import json
url = "https://api.dropboxapi.com/2/auth/token/from_oauth1"
headers = {
"Authorization": "Basic <APP_KEY>:<APP_SECRET>",
"Content-Type": "application/json"
}
data = {
"oauth1_token": "<DROPBOX_USERNAME>",
"oauth1_token_secret": "<DROPBOX_PASSWORD>"
}
r = requests.post(url, headers=headers, data=json.dumps(data))
Run Code Online (Sandbox Code Playgroud)
但我收到错误 b'Error in call to API function "auth/token/from_oauth1": Invalid value in HTTP header "Authorization": "Basic <APP_KEY>:<APP_SECRET>"'
APP_KEY并且APP_SECRET显然替换为其相应的字符串。
我打电话/token/from_oauth1而不是/oauth2/token. 如果是这样,这个请求我哪里出错了?
如果您开始与 Dropbox API 进行新的集成,则不应使用/2/auth/token/from_oauth1。这仅适用于现有的 OAuth 1 访问令牌,您只能从与 Dropbox API v1 的旧集成中获得这些令牌,该集成现已停用。
如果您现在开始,您将只使用带有 OAuth 2 访问令牌的 Dropbox API v2。
要实施OAuth 应用授权流程以获取 OAuth 2 访问令牌以用于 Dropbox API v2,您应该使用以下内容:
我还建议查看OAuth 指南。
在任何情况下,您都不应该直接处理 Dropbox 用户名和密码。
此外,由于您使用的是 Python,我强烈建议您使用官方 Dropbox API v2 Python SDK,因为它将为您完成大部分工作。它具有处理 OAuth 流程的帮助程序,例如DropboxOAuth2Flow和DropboxOAuth2FlowNoRedirect。
这是仅使用以下内容处理 Dropbox OAuth 2“代码”流的最小示例requests:
import requests
app_key = "APP_KEY_HERE"
app_secret = "APP_SECRET_HERE"
# build the authorization URL:
authorization_url = "https://www.dropbox.com/oauth2/authorize?client_id=%s&response_type=code" % app_key
# send the user to the authorization URL:
print 'Go to the following URL and allow access:'
print(authorization_url)
# get the authorization code from the user:
authorization_code = raw_input('Enter the code:\n')
# exchange the authorization code for an access token:
token_url = "https://api.dropboxapi.com/oauth2/token"
params = {
"code": authorization_code,
"grant_type": "authorization_code",
"client_id": app_key,
"client_secret": app_secret
}
r = requests.post(token_url, data=params)
print(r.text)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |