2013-01-18 56 views
1

我在使用Twitter API進行身份驗證時遇到問題。我在Python中使用oauth2模塊來執行單個用戶登錄。api v1.1的單用戶OAuth錯誤

我一直在使用下面的函數來請求跟隨IDS:

import oauth2 as oauth 

def oauth_req(url, key, secret, http_method="GET", post_body=None, http_headers=None): 
    consumer = oauth.Consumer(key=key, secret=secret) 
    token = oauth.Token(key=key, secret=secret) 
    client = oauth.Client(consumer, token) 
    resp, content = client.request(
     url, 
     method=http_method, 
    ) 
    return content 

然後我會從一個文件調用twitter_auth.py運行它按照下面的例子:

ids = twitter_auth.oauth_req('https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=marksandspencer', 'CONSUMER_KEY', 'CONSUMER_SECRET') 

然後它只是返回以下內容:
'{「errors」:[{「message」:「無效或過期的標記」,「代碼」:89}]}'

我似乎無法獲取它的工作原理,我的應用程序細節都很好,沒有過期 - 所以我假設他們可能會以某種方式失效 - 我只是不能解決問題。

在此先感謝。

回答

2

您正在傳遞一個CONSUMER_KEY和一個CONSUMER_SECRET而不是TOKEN_KEY和TOKEN_SECRET,因此您的令牌變量與您的使用者使用相同的憑據。訪問令牌憑證需要通過您的代碼或在Twitter網站上手動請求。