【发布时间】:2012-09-13 21:04:36
【问题描述】:
这里是应用脚本外部 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 应用程序”(在管理项目后)没有任何反应。
除了上面的 sn-p 之外,还有一个可行的例子吗?换句话说,您如何处理将查询“显示”到 YouTube 等的响应变量?据说这个 URL-fetch 示例是理解大量教程示例所必需的,但它本身并不能真正完成任何事情。
谢谢
我在这里回应对以下答案的回应。
我试过 Browser.msgBox(response);这给了我“未知的宏 doGet”。
我试过 Logger.log(response);这给了我“未知的宏 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 或记录器得到的不同呢?这些都让我得到“未知宏 doGet”
请我在这里迷路了。在继续学习其他教程之前,我需要了解这一点,但我遗漏了一些东西。
好的,我找到了一种方法来显示“响应”,但不使用“部署为 Web 应用程序”(这是我认为我需要的,但我想我不知道。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// 这是 2 个菜单项 var menuEntries = [ {name: "Surprise 1", functionName: "menuItem1"}, {名称:“惊喜 2”,函数名称:“menuItem2”}, {名称:“惊喜 3”,函数名称:“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”。那么?
如何将其输入浏览器?我的“部署到网络”选择一定有问题,对吗?
【问题讨论】:
-
您应该阅读developers.google.com/apps-script/articles 上提供的更基础和基础的教程,以便了解 GAS 的工作原理。
-
我已经完成了教程。这应该做什么?它打印吗?展示?发出声音?显示链接?验证链接是否存在?如果我知道它应该做什么,我也许能够引发响应。
-
您可以使用 Apps 脚本编写几种类型的应用程序: 1. Web 应用程序 - 这些需要 doGet。您返回一些 HTML 或 UiApp 实例,然后将其呈现给浏览器。 2. 在电子表格中运行的应用程序 - 您可以使用 msgBox 之类的东西来弹出对话框。您需要在电子表格的上下文中运行这些(名称“浏览器”具有误导性)。您可以使用“播放”按钮运行它们,也可以作为对电子表格中某些事件的响应。