抱歉,如果这是一个菜鸟问题,但我试图测试并开始使用 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')
我收到以下回复:
{"response": {"err": {"expl": "The oauth_signature passed was not valid.", "code": "401", "msg": "Invalid signature"}, "stat": "fail", "generated_in": "0.0041"}
基于看起来像这样的 OAuth 标头(注意,我只是将这些从会话对象中提取出来,因此密钥不是内部使用的,而是按照 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 也比较陌生,所以我可能会做一些愚蠢的事情。