对不起,如果这是一个noob问题,但我试图测试并开始与Vimeo的API一起使用RAuth python库。OAuth签名无效错误使用Rauth,Python对Vimeo API
我在开发者网站上向Vimeo注册的应用程序的应用程序页面上使用了访问令牌/密码。所以我猜这个问题的第一部分是:是否有效的访问令牌/秘密,还是需要实际经历OAuth流程,尽管我尝试使用此API访问我公司的帐户?
假设这是一个有效的令牌,那么问题的肉,因为此实现:
from rauth.session import OAuth1Session
session = OAuth1Session(
consumer_key=VIMEO_CLIENTID,
consumer_secret=VIMEO_CLIENTSECRET,
access_token=VIMEO_ACCESSTOKEN,
access_token_secret=VIMEO_ACCESSTOKENSECRET)
response = session.get(VIMEO_URL_BASE + 'vimeo.oauth.checkAccessToken')
我得到的回应如下:基于OAuth的头
{"response": {"err": {"expl": "The oauth_signature passed was not valid.", "code": "401", "msg": "Invalid signature"}, "stat": "fail", "generated_in": "0.0041"}
看起来像这样(注意,我刚刚从会话对象中提取了这些内容,因此这些键不是内部使用的,并且是由Rauth库定义的那些键):
{
"signature": "DH9ueZmrnguFgBIDZs7ZQPE7qHs=",
"nonce": "8bcbc130548c0677cd134e7d7f22b17df7a2eee6",
"timestamp": 1380266167,
"oauth_version": "1.0",
"token": VIMEO_ACCESSTOKENSECRET,
"consumer_key": VIMEO_CLIENTID,
"sig_method": "HMAC-SHA1"
}
我读过一些关于时钟关闭的文章。我的开发工作站检查time.windows.com,尽管我确实用time-a.nist.gov将其切换出来以防万一。我也关闭了同步并手动移动了我的时钟几秒钟。没有一个效果。我也尝试过检查developer.vimeo.com网站的操场示例中的时间戳与我的时钟,他们最多只能在1-2秒之内。
我想我在做一些没有意义的事情,尽管假设第一个问题的答案是正确的,并且根据我在RAuth代码中读到的内容,如果我拥有有效的身份验证令牌和密码,我应该可以使用那些无需经历整个OAuth流程,因为无论如何这只会产生新的令牌/秘密。
再一次,我是OAuth的新手,我对Python比较陌生,所以我可能会做一些愚蠢的事情。
我明白了。我没有意识到这一点。我会去看看它是否能修正它。你的库比requested_oauthlib精简得多。我在Google App Engine上运行,因此我可以在那里加载的越少越好。 :) – KenLFG
因此,显然,这可以与OAuth 1 API协同工作,只要您按照上述maxcountryman的说法操作即可。这是什么东西,只是没有记录或我有点想念它? – KenLFG