2016-08-03 156 views
0

我嘗試從Yelp API檢索一些UWP應用程序的信息。正如他們所說的here,我需要傳遞一些參數作爲HTTP請求的標頭,然後執行Json請求using this link。我知道如何解析Json文件,但我不知道如何訪問此文件。對Yelp API的HTTP請求返回缺少的參數錯誤

舉例來說,如果我把https://api.yelp.com/v2/search?term=food&location=San+Francisco&oauth_consumer_key=MYKEY&oauth_token=MYTOKEN&oauth_signature_method=hmac-sha1這個環節上我的瀏覽器

其返回{"error": {"text": "One or more parameters are missing in request", "id": "MISSING_PARAMETER", "field": "oauth_signature"}}

我應該如何進入這個oauth_signature

+0

正如它所說的,您是否將OAuth密鑰放在標頭中?您無法通過瀏覽器直接向此發送請求,因爲您需要提供用於身份驗證的標頭。您可以通過名爲Fiddler的應用程序或通過代碼來完成此操作。 – plusheen

+0

你應該清理標題和標籤,因爲它們沒有意義。我看到的唯一問題是「我的網址中缺少哪個參數」?而錯誤信息清楚地說'oauth_consumer_key' –

+0

感謝你們兩位,我遇到了另一個問題,然後用'oath_signature' –

回答

1

根據他們specification

每個請求都必須包含以下OAuth協議參數:

oauth_consumer_key您的OAuth用戶密鑰(從 管理API訪問)。

oauth_token獲取的訪問令牌(從管理 API訪問)。

oauth_signature_method HMAC-SHA1

oauth_signature的 產生的請求籤名,用得到的oauth_token_secret 簽署(從管理API訪問)。

oauth_timestamp 請求的時間戳,自Unix時代開始,以秒爲單位。

oauth_nonce每個請求隨機生成的唯一字符串。

在您的請求中添加必填字段並查看您得到的回覆。此處請求中缺少oauth_timestamp,oauth_nonceoauth_signature字段。

+0

我不明白我怎麼能通過url提供'oath_signature_method',對不起,這是我第一次做這些事 –

+0

抱歉,遲到的答覆。很少失去聯繫。希望你現在已經解決了這個問題。僅供參考,oauth_signature_method的閥門將是「hmac-sha1」(正如他們在規範中所述)。 – Suraj