簡體   English   中英

QQ OAuth 錯誤碼

[英]QQ OAuth error code

我正在嘗試使用使用 OAuth 的 QQ(類似於 ICQ 的巨大中文社交網絡)API。 我對 OAuth 相當熟悉,但我只能通過谷歌翻譯閱讀中文。

我使用 Rails 3.0.7 並按照oauth gem 文檔中的說明進行操作。

根據QQ 文檔,他們的 APP ID 對應於 oauth_consumer_key,他們的 APP KEY 是 oauth 消費者密鑰。 他們還指定要使用的 URL。 所以我在控制台中執行以下操作:

@consumer=OAuth::Consumer.new("APP ID", "APP SECRET",{:site =>
"http://openapi.qzone.qq.com", :request_token_path=>"/oauth/qzoneoauth_request_token", 
:authorize_path => "/oauth/qzoneoauth_authorize", :access_token_path => 
"/get_access_token.php"} )

那返回:

#<OAuth::Consumer:0x0000010283f6a0 @key="APP ID", @secret="APP SECRET", 
@options={:signature_method=>"HMAC-SHA1", 
:request_token_path=>"/oauth/qzoneoauth_request_token", 
:authorize_path=>"/oauth/qzoneoauth_authorize", 
:access_token_path=>"/get_access_token.php", :proxy=>nil, :scheme=>:header, 
:http_method=>:post, :oauth_version=>"1.0", :site=>"http://openapi.qzone.qq.com"}> 

現在是時候從服務器獲取請求令牌了:

@request_token=@consumer.get_request_token

不幸的是,這會返回一個錯誤代碼: 12005表示無效的 url(感謝@timon-vonk)。 但它有什么問題,我該如何調試呢? 以下是有關請求的更多詳細信息,通過net-http-spy獲得:

@request_token=@consumer.get_request_token(
:oauth_callback => "http://ishiyou.com/qq")          
opening connection to openapi.qzone.qq.com...opened
<- "GET /oauth/qzoneoauth_request_token HTTP/1.1\r\nAccept: */*\r\nUser-Agent: 
OAuth gem v0.4.4\r\nAuthorization: OAuth 
oauth_callback=\"http%3A%2F%2Fishiyou.com%2Fqq\", 
oauth_consumer_key=\"******\", 
oauth_nonce=\"gpv3iaYb7K3tExGxxnW5bjkyvU6ms3EuL9roLwgxs4\", 
oauth_signature=\"3tgryVqRFjxoXSxnYTO%2FXuRNAU4%3D\", 
oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1306933000\", 
oauth_version=\"1.0\"\r\nConnection: close\r\nHost: openapi.qzone.qq.com\r\n\r\n"
-> "HTTP/1.1 200 OK\r\n"
-> "Connection: close\r\n"
-> "Server: QZHTTP-2.13\r\n"
-> "Date: Wed, 01 Jun 2011 12:56:42 GMT\r\n"
-> "Content-Length: 17\r\n"
-> "Content-type: text/html\r\n"
-> "Cache-Control: no-cache\r\n"
-> "\r\n"
reading 17 bytes...
-> "error_code=12005\n"
read 17 bytes
Conn close

12005 錯誤通常是無效的 URL。

在生成的 URL 無效,不是不存在的意義上無效。 檢查生成了什么 URL。 另外,QQ也有可能只是解析請求錯誤,由於某種原因沒有發送404而是12005。

暫無
暫無

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

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