所以这里是应用脚本外部 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 应用程序”(管理项目后)没有任何反应。
是否有一个工作示例不仅仅是上面的代码片段?换句话说,您如何处理将查询“显示”到 YouTube 等的响应变量?据说这个 URL-fetch 示例是理解大量教程示例所必需的,但它本身并没有真正完成任何事情。
谢谢
我在这里回应对以下答案的回应。
我试过 Browser.msgBox(response); 这给了我“未知的宏 doGet”。</p>
我试过 Logger.log(response); 这给了我“未知的宏 doGet”。</p>
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);
}
你说“这取决于你作为开发人员”但我不知道“作为开发人员”应该做什么</p>
是的,很明显我在这里遗漏了一些东西,这就是问题所在。我遗漏了一些基本的东西,假设我应该从示例中知道但我不知道。
教程中没有向我介绍 Listbox。
当我在 /apps-script 的搜索中键入“listbox”时,我得到了这个例子:
https://developers.google.com/apps-script/class_listbox
我将其放入电子表格并能够运行它以获取选择选项。那么为什么这与我应该使用 msgbox 或记录器得到的不同呢?这些都让我得到“未知宏 doGet”</p>
请我在这里迷路了。在继续其他教程之前,我需要了解这一点,但我遗漏了一些东西。
好的,我找到了一种方法来显示“响应”,但不使用“部署为 Web 应用程序”(这是我认为我需要的,但我想我不知道。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// 这些是 2 个菜单条目 var menuEntries = [ {name: "Surprise 1", functionName: "menuItem1"}, {name: "Surprise 2", functionName: "menuItem2"}, {name: "Surprise 3",函数名:“menuItem3”} ];
//surprise3 在另一个脚本中
// 定义菜单项后,然后定义菜单本身 ss.addMenu("Surprises", 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”。所以?
我如何将它放入浏览器?我的“部署到网络”选择一定有问题,对吗?