2012-09-13 49 views
1

因此,以下是應用程序腳本外部API的「示例」。如何獲取應用程序腳本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提取示例是理解大量教程示例所必需的,但本身並未實際完成任何事情。

感謝

我回應在這裏應對以下問題的答案。

我試過Browser.msgBox(response);這給了我「未知宏觀的doGet「。

我試圖Logger.log(響應);這給了我

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); 

} 

你說「這是給你作爲一個開發者‘未知宏觀的doGet’。 「但我不知道它應該做什麼」作爲開發人員「

是的,很明顯我在這裏錯過了一些東西,那就是問題。我錯過了一些基本假設,我應該從例子中知道但我不知道

我沒有介紹給L教程中的istbox。

當我鍵入「列表框」成/應用程序腳本搜索我得到這樣的例子:

https://developers.google.com/apps-script/class_listbox

我把它變成電子表格和我能夠運行它來獲得選擇的選擇。那麼爲什麼這與我應該用msgbox或logger得到的結果不同?這些都讓我「未知宏觀的doGet」

請我在這裏丟失。在繼續閱讀其他教程之前,我需要完成這些工作,但是我錯過了一些東西。

OK我找到了一種方法來獲取「響應」來顯示,但不使用「部署爲網絡應用程序」(這是我認爲我需要的,但我想我不知道)

function onOpen() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

//這些是2的菜單項 變種的菜單項= {[名: 「驚喜1」,functionName: 「menuItem1」},{ 名: 「驚喜2」,functionName: 「menuItem2」}, {name:「Surprise 3」,functionName:「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); 
} 

但是這一切的確是打印「FetchReponse」從菜單1盒。所以?

我該如何將其導入瀏覽器?我必須在「部署到網絡」選擇時出現問題,對嗎?

+0

你應該通過提供https://developers.google.com/apps-script/articles更基本的和基本的教程,所以你」我會知道GAS是如何工作的。 – Srik

+0

我已經通過了教程。這應該做什麼?它打印?顯示?發出聲音?顯示鏈接?驗證鏈接是否退出?如果我知道它應該做什麼,我可能能夠引起反應。 – Domarr

+0

您可以使用Apps腳本編寫幾種類型的應用程序: 1.網絡應用程序 - 這些需要使用doGet。您返回一些HTML或UiApp實例,並將其呈現給瀏覽器。 2.在電子表格中運行的應用程序 - 您可以使用諸如msgBox之類的東西作爲彈出對話框。您需要在電子表格的上下文中執行這些操作(名稱「瀏覽器」具有誤導性)。您可以使用「播放」按鈕運行這些按鈕,也可以作爲電子表格中某些事件的響應。 –

回答

1

該腳本確實完成了預期的任務。

Google apps腳本UI具有調試器功能。嘗試使用它來通過示例代碼片段。在定義變量之後,請查看它的值。這將有助於你瞭解正在發生的事情。 的確,示例本身(就像)不會對響應數據做任何事情,但這取決於開發人員。用變量'responce'中的值可以填充一個列表框。但是那些代碼並沒有提供,那取決於你;-)如果你還沒有能夠編寫代碼,我同意Srik的建議並且看看這些教程。

最後,這個鏈接kan可以幫助你解決關於示例中使用的API的更多問題。 https://developers.google.com/youtube/2.0/developers_guide_protocol#Standard_parameters

希望這會有所幫助。

+0

我試過Browser.msgBox(response);並且這給了我「未知的宏doGet」。 我試過了Logger.log(response);並且這給了我「未知的宏doGet。」 – Domarr

+0

我非常同意Taras的看法,你真的需要閱讀基本的教程。 –

0

剪切並粘貼到函數中,仍然得到未知的宏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); 
} 

將其另存爲託管版本。然後「部署爲網絡應用程序」。剪切和粘貼鏈接和最新版本,他們都給我「未知的宏doGet」

相關問題