簡體   English   中英

身份驗證失敗,代碼為 32

[英]Authentication failure with code 32

嗨,有人可以幫我嗎?

import tweepy

CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = '-'
ACCESS_TOKEN_SECRET = ''

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

status = "Testing!"
api.update_status(status=status)

它給了我那個錯誤

'code': 32, 'message': '無法驗證您的身份。

您的代碼沒有任何問題,這是一個身份驗證問題。 請參考https://dev.twitter.com/overview/api/response-codes

代碼:32

文本:無法驗證您的身份

描述:您的呼叫無法按撥號完成。

在 Twitter 的開發者論壇上, 這里有一個線程。 你可能應該用 Twitter 來檢查一下。

  1. 確保您使用正確的ACCESS_TOKEN ACCESS_TOKEN_SECRET
  2. 如果您復制粘貼您的憑據,請檢查前導和尾隨空格。(在我的大多數情況下)
  3. 有時您的ACCESS_TOKENACCESS_TOKEN_SECRET可能已過期,因此請重新生成它們ACCESS_TOKEN_SECRET試。

可能您忘記單擊Twitter 應用程序管理“密鑰和訪問令牌”底部的“創建我的訪問令牌”按鈕。

twitter API 的常見問題是,如果您最近更改了應用程序的權限,則必須重新生成您的 OAUTH 密鑰

對於 Jupyter Notebook,如果您首先執行以下操作,

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

然后如果你正在運行下一個片段

status = "Testing!"
api.update_status(status=status)

您可能會收到錯誤 32,請嘗試運行整個代碼塊並確保檢查令牌和鍵后的空格

三重檢查您提供代幣的方式

對我來說,問題是程序員有時會犯的那些愚蠢的錯誤之一,需要幾個小時來調試......
我通過文檔提供令牌,對於每一行,我都裁剪了最后一個字符(換行符 =“\\n”)。 由於文檔以最后一個用戶的令牌的最后一個字符結尾,每次我嘗試登錄他時,都會出現錯誤 32,因為缺少最后一個令牌的最后一個字符。 在文檔末尾添加一個新行解決了這個問題。

故事寓意:檢查您將令牌提供給 API 的方式,並尋找一些簡單但致命的錯誤

FWIW 我會隨機得到這個錯誤,直到我意識到它與我在 url 中編碼狀態文本的方式有關——它(幾乎)與我的 OAuth 標頭無關,而這些標頭基本上是正確的。

一旦我將狀態文本轉換為表單參數,一切都會順利進行。 我懷疑這個問題因我的 oauth 庫(npm 包oauth-1a )使用 url 和狀態文本並可能使用諸如encodeURI()類的函數以不同方式對其進行編碼。

Node.js偽代碼如下,

// Create authorization header using oauth library
const oauthHeader = ...

const formData = new FormData();
formData.append('status', 'Messy status text with spaces');

fetch(
  'https://api.twitter.com/1.1/statuses/update.json',  // No status text in url
  {
    method: 'POST',
    body: formData,
    headers: {
      ...oauthHeader
      ...formData.getHeaders(),
    }
  }
)

發生此問題的原因可能是您的 ACCESS_TOKEN 和 ACCESS_TOKEN_SECRET 是使用只讀權限創建的。 您必須返回“設置”到“應用程序權限”並編輯為“讀寫”或“讀寫和直接消息”,然后重新生成您的 ACCESS_TOKEN 和 ACCES_TOKEN_SECRET。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM