Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 应用程序脚本-谷歌表单-API调用-令牌头语法有问题_Javascript_Json_Google Apps Script_Bearer Token_Urlfetch - Fatal编程技术网

Javascript 应用程序脚本-谷歌表单-API调用-令牌头语法有问题

Javascript 应用程序脚本-谷歌表单-API调用-令牌头语法有问题,javascript,json,google-apps-script,bearer-token,urlfetch,Javascript,Json,Google Apps Script,Bearer Token,Urlfetch,不确定如何对此的标头承载令牌部分进行语法分析 //-------------------------------------------------------------------------------------------------- // //Google Sheets中的iTunes音乐发现应用程序 // // ------------------------------------------------------------------------------------

不确定如何对此的标头承载令牌部分进行语法分析

//--------------------------------------------------------------------------------------------------
//
//Google Sheets中的iTunes音乐发现应用程序
//
// --------------------------------------------------------------------------------------------------
//自定义菜单
函数onOpen(){
var ui=SpreadsheetApp.getUi();
ui.createMenu('iTunesAPI调用')
.addItem('获取艺术家数据','displayArtistData')
.addToUi();
}
//函数调用iTunesAPI
函数calliTunesAPI(艺术家){
//调用iTunesAPI
var response=UrlFetchApp.fetch(“https://api.music.apple.com/v1/catalog/us/music-videos/{“+艺术家+”}”);
--标题“内容类型:应用程序/json”\
--标题“授权:持票人EYJHBGCIOIJFUZI1NIISINR5CCI6IKPXVCIISIMTPZI6IJVWNJY3ZEZANJMIFQ.EYJPC3MIOIJ0QVE5Q1Q3IIEOWO”
//解析JSON回复
var json=response.getContentText();
返回JSON.parse(JSON);
}
函数displayArtistData(){
//从谷歌表单中选择搜索词
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var artist=sheet.getRange(11,3).getValue();
var轨道=calliTunesAPI(艺术家);
var结果=轨道[“结果”];
变量输出=[]
结果.forEach(函数(elem,i){
var image='=image(“'+elem[“artworkUrl60”]+'”,4,60,60)”;
var hyperlink='=hyperlink('+elem[“previewUrl”]+',“收听预览”);
push([elem[“artistName”]、elem[“collectionName”]、elem[“trackName”]、image、hyperlink]);
表1.设置行高(i+15,65);
});
//按相册排序
var sortedOutput=output.sort(函数(a,b){
var albumA=(a[1])?a[1]:“未知”;//如果唱片集名称未定义
var albumB=(b[1])?b[1]:“未知”;//如果唱片集名称未定义
if(albumAalbumB){
返回1;
}
//名字是平等的
返回0;
});
//将索引号添加到数组中
sortedOutput.forEach(功能(元素,i){
元素取消移位(i+1);
});
var len=分拣输出长度;
//清除以前的任何内容
sheet.getRange(15,1500,6).clearContent();
//粘贴值
表.getRange(15,1,len,6).设置值(sortedOutput);
//格式化
表1.getRange(15,1500,6).设置垂直对齐(“中间”);
表1.getRange(15,5500,1).setHorizontalAlignment(“中心”);
表.getRange(15,2,len,3).setWrap(true);
}

这部分代码不起作用:

--标题“内容类型:应用程序/json”
--标头授权:持有人EYJHBGCIOIJFUZI1NIISINR5CCI6IKPXVCIISIMTPZI6IJVWNJY3SezanMifQ.EYJPC3MIOIJ0QVE5Q1Q3IIEOWO


不知道如何正确地语法。我确定这是101,但不确定答案。

以此为例,您应该能够更新代码。祝你好运

var url = "https://www.example.com"
var headers = {
  "Authorization": "Bearer ijfewfkjsfkjh4543",
  "Content-Type": "Application/json"
};

var options = {
  "method" : "get",
  "headers" : headers 
};

var response = UrlFetchApp.fetch(url, options);
编辑:这应该可以,但是API已经关闭了。您可以删除var艺术家。但我需要一个号码;)


您可能想看看
UrlFetchApp
文档

UrlFetchApp
的作用是获取资源并通过internet与其他主机通信。由于您希望检索一些数据,因此在发出请求时基本上必须包括
承载

考虑到所有这些因素,您可以将函数重写为:

function calliTunesAPI(artist) {
   var url = "https://api.music.apple.com/v1/catalog/us/music-videos/{" + artist + "}";
   var params = {
      "headers": {
         "Content-Type": "application/json",
         "Authorization": "Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVWNjY3SEZaNjMifQ.eyJpc3MiOiJTOTU0QVE5Q1Q3IieOwO"
      }
      "method": "GET"
   }
   var response = UrlFetchApp(url, params);
   var json = response.getContentText();
   return JSON.parse(json);
}
参考文献

请按照中的建议添加您的搜索/研究工作的简要说明。还可以用一个.I trued替换您的代码:-函数calliTunesAPI(artist){var url=“{+artist+”}”;var headers={“Authorization”:“Bearer eyjhbgcioijfuzi1niisinr5cci6ikpxvisimtpzci6ijvwnjy3sezanmifq.eyjpc3mioijtotu0qve5q1q3ieowo”,“内容类型”:“Application/json”};var选项={“method”:“get”,“headers”:headers};var response=UrlFetchApp.fetch(url,选项);var json=response.getContentText();return json.parse(json);}---错误:var response=UrlFetchApp.fetch(url,选项);对不起,那是一场噩梦。不确定如何格式化以使其看起来更好。我也很乐意为你做DM。如果你有一些不正确的想法,请参阅我的编辑。api暂时停止运行
function calliTunesAPI(artist) { 
  var artist = 178834;
  var url = "api.music.apple.com/v1/catalog/us/music-videos"+artist; 
  var headers = { "Authorization": "Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVWNjY3SEZaNjMifQ.eyJpc3MiOiJTOTU0QVE5Q1Q3IieOwO", 
                  "Content-Type": "Application/json" 
                }; 
  var options = { 
    "method": "get", 
    "headers": headers,
    "muteHttpExceptions": true
  }; 
  var response = UrlFetchApp.fetch(url, options).getContentText(); 
  var json = JSON.parse(response);
  console.log(json);
  
}
function calliTunesAPI(artist) {
   var url = "https://api.music.apple.com/v1/catalog/us/music-videos/{" + artist + "}";
   var params = {
      "headers": {
         "Content-Type": "application/json",
         "Authorization": "Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVWNjY3SEZaNjMifQ.eyJpc3MiOiJTOTU0QVE5Q1Q3IieOwO"
      }
      "method": "GET"
   }
   var response = UrlFetchApp(url, params);
   var json = response.getContentText();
   return JSON.parse(json);
}