簡體   English   中英

如何傳遞api ID和api Key作為HTTP請求的認證參數

[英]How to pass api ID and api Key as authentication parameters of HTTP request

我在訪問牛津詞典 API 時遇到問題。 我不斷收到錯誤“缺少身份驗證參數”。

我相信我沒有正確傳遞 api ID 和密鑰。 我參考了這個文檔: https : //developer.oxforddictionaries.com/documentation/making-requests-to-the-api https://developer.oxforddictionaries.com/documentation

這是我的代碼; 相信我,應用程序 ID 和密鑰是正確的字符串。

const url = 'https://od-api.oxforddictionaries.com/api/v1/entries/en/swim';

fetch(url, {
  method: 'GET',
  headers: new Headers({
    'app_id': oxford.appId, 'app_key': oxford.appKey
  }),
}).then(function(response) {
  console.log(response);
});

如果站點尋找身份驗證標頭,它可能會參考基本身份驗證標頭, 請在此處閱讀更多信息 如果這是真的,你可以簡單地附加你的頭參數:

var headers = new Headers()

headers.append('Authorization', 'Basic ' + base64.encode(app_id + ":" + app_key));

您可以嘗試使用或不使用編碼。

如果這不起作用,您也可以嘗試

const url = 'https://od-api.oxforddictionaries.com/api/v1/entries/en/swim';

fetch(url, {
 method: 'GET',
 headers: { //HERE IS THE DIFFERENCE
   'app_id': oxford.appId, 'app_key': oxford.appKey
 },
 mode: 'no-cors'
}).then(function(response) {
  console.log(response);
}); 

如果這不起作用,另一種思考方式,可能是 CORS 問題,您可以在此處閱讀更多內容

可能這會有所幫助。

我在這里找到了我的問題的答案。 看起來 API 不支持客戶端應用程序請求。 猜猜我必須創建一個服務器。

暫無
暫無

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

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