Ash*_*son 5 javascript google-sheets urlfetch google-apps-script
解决了 感谢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
Run Code Online (Sandbox Code Playgroud)
我在这里猜测,但冒号前面的文本似乎是自定义标头,冒号后面的字符串是 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
}
}
);
Run Code Online (Sandbox Code Playgroud)
另外,请务必查看 UrlFetchApp 文档以供将来参考: https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
归档时间: |
|
查看次数: |
1580 次 |
最近记录: |