【发布时间】:2018-08-18 10:58:30
【问题描述】:
已解决 感谢 Dimu Designs 的帮助。
以下工作。
函数 myFunction() { var url = "https://api.fortnitetracker.com/v1/profile/pc/Ninja"; var apiKey = "xxx-xxx-xxx";
var res = UrlFetchApp.fetch( 网址, { “标题”:{ “TRN-Api-Key”:apiKey } }); var 内容 = res.getContentText();记录器.log(res); Logger.log(内容);
}
问题
我正在尝试使用 Google 表格中的 Google 应用脚本来调用外部 Fortnite API 来请求玩家数据。我对如何在传递请求时添加 API 密钥作为标头感到困惑。
这是我目前所构建的(请不要笑)!...
function myFunction() { var res = UrlFetchApp.fetch("https://api.fortnitetracker.com/v1/profile/PC/Ninja?"); var 内容 = res.getContentText(); Logger.log(res);
记录器.log(内容); }
当我尝试运行它时,我得到以下错误:
请求失败 https://api.fortnitetracker.com/v1/profile/PC/Ninja?返回码 401. 截断服务器响应:{"message":"No API key found in request"}(使用 muteHttpExceptions 选项检查完整响应
我已经尝试根据许多不同的帖子以多种方式添加我的 API 密钥,但它不起作用并且让我更加困惑(此时很容易完成)。
有没有人知道我如何才能完成脚本以确保我得到信息? :)
---编辑---
首先,感谢大家的帮助,这就是我们目前所处的位置。我现在尝试了以下方法:
var url = "https://api.fortnitetracker.com/v1/profile/pc/Ninja";变量 apiKey = "xxx-xxxx-xxx";
var 响应 = UrlFetchApp.fetch( 网址, { “标题”:{ “TRN-Api-Key”:apiKey } });
这次返回的是 403 错误,而不是 401 错误。
注意,我也尝试过使用“基本”对标头进行身份验证,但这不起作用”。
【问题讨论】:
-
显示您尝试将密钥包含在请求中的方式。另请参阅 API 文档 - 它应说明您将如何附加密钥以提交授权请求
-
没有提供 API 文档。
-
必须有文档,否则您将不知道如何构建您的 URL。你从哪里得到你的 API 密钥?我会从那里开始。阅读授权。
-
@tehhowch 有但它的文档极差:fortnitetracker.com/site-api。他们甚至没有提供如何使用 API 密钥的体面示例。我想 OP 将不得不使用 Authorization 标头,但是有不同类型的令牌格式,例如“Basic”、“Bearer”……文档没有给开发人员任何使用的指示。
标签: javascript google-apps-script google-sheets urlfetch