對不起,如果這是一個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