我剛剛使用API,目前正試圖在我正在開發的新應用程序上使用Trade Me API。從Laravel驗證API調用
他們的authorisation guidelines表示他們使用OAuth對API調用進行身份驗證,並且可以在查詢字符串或授權標頭中指定這些API調用。
作爲API調用的新手,我嘗試使用guzzlehttp/oauth-subscriber
,但嘗試撥打電話時失敗了。
所以目前我只是試圖追加詳細信息到查詢字符串。
我試圖撥打電話要求:
- oauth_consumer_key
- oauth_signature
- oauth_signature_method
哪裏oauth_consumer_key
是消費者鍵,oauth_signature
是消費者的祕密。
當我試圖訪問這個URL來測試URL是正確的 - https://api.tmsandbox.co.nz/v1/Listings/123.json?oauth_consumer_key=XXX&oauth_signature=XXX&oauth_signature_method=PLAINTEXT
我得到一個錯誤: 「無效的明文署名」:
「ErrorDescription中」
我明顯地在上面的URL中替換了我的鍵,但是我看不到上面出現了什麼問題,它似乎與它們的文檔相匹配。
有人可以指出我做錯了什麼嗎?
你追加與簽名一個&符號?如果您通過'Authorization'標頭髮送授權,則更容易。嘗試通過curl手動進行:'curl https://api.tmsandbox.co.nz/v1/Listings/123.json -H'授權:OAuth oauth_consumer_key =「」,oauth_signature_method =「PLAINTEXT」, oauth_signature = 「<消費者祕密>&」''。您也可以在簽名後嘗試添加'&'。 –
Dencker
@Dencker好的,稍後我會嘗試'curl'。我的意思是,如果我可以弄清楚如何在頭文件中發送授權,或者如果有人可以幫助我這麼做,那麼我寧願這樣做。但是我無法完全理解Laravel如何做到這一點。這就是我使用查詢字符串尋找解決方案的原因。 – James
您使用哪個庫來提出請求?他們中的大多數,像Guzzle或Requests一樣,都提供了一個簡單的' - > addHeader(「Authorization」,'OAuth oauth_consumer_key =「」.....')'方法或者那種風格。 –
Dencker