【发布时间】:2015-04-25 11:16:00
【问题描述】:
我有 Python 3,我正在尝试通过 API link to API documentation 发布到 Tumblr。尽管感觉我做的一切都是正确的,但我一直收到错误 401。 Python 2 中有一个官方的 API 客户端,但感觉有点难以理解,而且所有其他提到它的似乎都是在 PHP 或 Java 中。我也不确定在 401 错误之后发布的格式,因为文档没有给出除 /post 之外的任何明确示例。我的代码:
import requests
from requests_oauthlib import OAuth1
#variables for later
client_key=""
client_secret=""
oauth_token=""
oauth_token_secret=""
#gets the values for the variables
with open("API.txt", 'r') as readAPI:
readAPI.readline()
client_key=readAPI.readline()[23:]
client_secret=readAPI.readline()[23:]
oauth_token=readAPI.readline()[23:]
oauth_token_secret=readAPI.readline()[23:]
readAPI.close()
#prints them to double check they are being read correctly
print(client_key)
print(client_secret)
print(oauth_token)
print(oauth_token_secret)
#sets oauth for the connection
oauth = OAuth1(client_key,
client_secret,
oauth_token,
oauth_token_secret)
#check post that should return various blog stats
r = requests.get("http://api.tumblr.com/v2/user/info" ,auth=oauth)
print(r)
我 100% 确定我得到了正确的客户端密钥、客户端密码、oauth 令牌和 oauth 令牌密码。我已经仔细检查过,oauth 令牌都放在手动读取的文件中,并且在连接尝试之前打印出来。我 100% 确定它是正确的。我想知道 Tumblr 的 API 是否损坏?
编辑:这是与 print(repr())
'client_key'
'client_secret'
'oauth_token'
'oauth_token_secret'
{"meta":{"status":401,"msg":"Not Authorized"},"response":[]}
这是尝试新代码并使用 Steven 的 JSON 方法后发生的情况。
b'{"meta":{"status":401,"msg":"Not Authorized"},"response":[]}'
【问题讨论】: