簡體   English   中英

如何在Google Apps腳本中將API密鑰添加到UrlFetchApp

[英]How to add an API Key to a UrlFetchApp in Google Apps Scripts

解決了感謝Dimu Designs的幫助。

以下作品。

函數myFunction(){var url =“ https://api.fortnitetracker.com/v1/profile/pc/Ninja ”; var apiKey =“ xxx-xxx-xxx”;

var res = UrlFetchApp.fetch(url,{“ headers”:{“ TRN-Api-Key”:apiKey}}); var content = res.getContentText(); Logger.log(res); Logger.log(內容);

}

問題

我正在嘗試使用Google表格中的Google App腳本來調用外部Fortnite API以請求播放器數據。 我停留在如何在傳遞請求時添加API密鑰作為標頭的問題。

這是我到目前為止構建的(請不要笑)

函數myFunction(){var res = UrlFetchApp.fetch(“ https://api.fortnitetracker.com/v1/profile/PC/Ninja ?”); var content = res.getContentText(); Logger.log(res);
Logger.log(內容); }

當我嘗試運行此命令時,出現以下錯誤:

請求失敗https://api.fortnitetracker.com/v1/profile/PC/Ninja嗎? 返回的代碼401。服務器響應被截斷:{“ message”:“在請求中未找到API密鑰”}(使用MutantHttpExceptions選項檢查完整響應

我已經嘗試過根據許多不同的帖子以多種方式添加我的API密鑰,但這是行不通的,只會使我更加困惑(在這一點上很容易做到)。

有誰知道我如何才能完成腳本以確保獲得信息? :)

- -編輯 - -

首先,感謝幫助人員,這是我們目前的位置。 我現在嘗試了以下方法:

var url =“ https://api.fortnitetracker.com/v1/profile/pc/Ninja ”; var apiKey =“ xxx-xxxx-xxx”;

var response = UrlFetchApp.fetch(url,{“ headers”:{“ TRN-Api-Key”:apiKey}});

這次返回的是403錯誤,而不是401錯誤。

請注意,我還嘗試使用“基本”對標頭進行身份驗證,但這不起作用。

編輯我懷疑該API使用自定義標頭。 當您注冊API密鑰時,將獲得以下格式的字符串:

TRN-Api-Key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

我在這里猜測,但是冒號前面的文本似乎是一個自定義標頭,冒號后面的字符串是API密鑰。

沒有適當的文檔,這仍然是黑暗中的一槍,但是您可以嘗試以下操作:

var url = "[FORTNITE-API-ENDPOINT]";
var apiKey = "[YOUR-API-KEY]"; // sans header and colon

var response = UrlFetchApp.fetch(
    url,
    {
        "headers":{
            "TRN-Api-Key":apiKey
        }
    }
);

另外,請務必查看UrlFetchApp文檔以備將來參考: https : //developers.google.com/apps-script/reference/url-fetch/url-fetch-app

暫無
暫無

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

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