所以这是应用程序脚本外部API的“示例”。
https://developers.google.com/apps-script/external_apis
但是当你剪切并粘贴代码时:
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
var response = UrlFetchApp.fetch(url);
进入Code.gs
function myFunction() {
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
var response = UrlFetchApp.fetch(url);
}
并按“发布部署为Web应用程序”(管理项目后)没有任何反应。
是否有一个工作示例而不仅仅是上述代码段?换句话说,你如何处理响应var以“显示”到YouTube等的查询?据说这个URL-fetch示例需要理解大量的教程示例,但实际上并没有实现任何目的。
谢谢
我在这里回答对以下答案的回应。
我试过Browser.msgBox(响应);这给了我“未知的宏doGet。”
我尝试过Logger.log(响应);这给了我“未知的宏doGet。”
function myFunction() {
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
var response = UrlFetchApp.fetch(url);
//Browser.msgBox(response);
// Logger.log(response);
}
你说“这取决于你作为开发者”但我不知道应该做什么“作为开发者”
是的,显然我在这里遗漏了一些东西,这就是问题所在。我遗漏了一些基本假设,我应该从示例中知道,但我不知道。
我没有在教程中介绍Listbox。
当我在/ apps-script的搜索中输入“listbox”时,我得到了这个例子:
https://developers.google.com/apps-script/class_listbox
我将其放入电子表格中,并且能够运行它以获得选择。那么为什么这与我应该使用msgbox或logger有什么不同呢?这些都让我'未知的宏doGet“
请我在这里迷路。我需要在继续其他教程之前对此进行处理,但我遗漏了一些内容。
好的我已经找到了一种方法来显示“响应”,但没有使用“部署为网络应用程序”(这是我认为我需要的,但我想我不知道。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//这是2个菜单项 var menuEntries = [{name:“Surprise 1”,functionName:“menuItem1”}, {name:“Surprise 2”,functionName:“menuItem2”}, {name:“Surprise 3”,functionName:“menuItem3”}];
// surprise3在另一个脚本中
//定义菜单项后,然后定义菜单本身 ss.addMenu(“惊喜”,menuEntries); }
function menuItem1() {
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
var response = UrlFetchApp.fetch(url);
Browser.msgBox(response);
}
function menuItem2() {
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
Browser.msgBox(url);
}
但所有这一切都是在menu1的方框中打印“FetchReponse”。所以?
如何将其插入浏览器?我必须对“部署到网络”选择有问题,对吗?
答案 0 :(得分:0)
剪切并粘贴到一个函数中,仍然可以获得Unknown Macro doGet。
function myFunction() {
var url = "https://gdata.youtube.com/feeds/api/videos?"
+ "q=skateboarding+dog"
+ "&start-index=21"
+ "&max-results=10"
+ "&v=2";
var response = UrlFetchApp.fetch(url);
Browser.msgBox(response);
}
将其另存为托管版本。然后“部署为Web应用程序”。剪切并粘贴链接和最新版本,它们都给我“Unknown Macro doGet”
答案 1 :(得分:0)
请在发布之前阅读https://developers.google.com/apps-script/execution_web_apps。
特别是句子:“为了将脚本部署为Web应用程序,它必须包含doGet(e)函数。”
然后决定如何构建用户界面:https://developers.google.com/apps-script/html_service或https://developers.google.com/apps-script/uiapp