2016-04-07 36 views
1

我正在編寫一個獨立的Google Apps腳本,用於查詢Youtube報告API並返回我的視頻分析。Apps腳本通過YouTube的API不斷請求脫機許可

當我在Apps Script中使用我們用於管理各種Youtube頻道的某個Google+信息頁進行身份驗證時,Apps腳本不斷要求我授權腳本進行離線訪問。

當我用我的個人Gmail帳戶在新的腳本項目中嘗試同樣的事情時,一切正常。這樣做有一個問題。當我通過我自己的帳戶查詢Youtube.Channels.list時,我沒有收到我擁有的任何其他頻道的列表,只是我自己的個人頻道。

我也試着用Youtube文檔中帶有Google+頁面的try it功能,並且工作正常。

對於這個劇本,我已經打開了&以下高級服務的谷歌開發者控制檯啓用:

  1. YouTube數據API
  2. YouTube分析API
  3. Google+的API(以防萬一)

我也試過專門設置通道ID爲通道== xxx,並刪除了變量MyChannels和通道,我仍然得到相同的sults。

什麼可能是一種可能的解決方案?

這裏是我的代碼示例:

function youTubeAnalytics() { 
    var myChannels = YouTube.Channels.list('id', {mine: true}); 
    var channel = myChannels.items[0]; 
    var channelId = channel.id; 
    var analyticsResponse = YouTubeAnalytics.Reports.query(
    'channel==' + channelId, 
    'estimatedMinutesWatched,views,likes,subscribersGained', 
    {dimensions: 'video','max-results': '200',sort: '-views'}); 
    } 

回答

1

Channel Reports documentation它說:

用戶授權請求必須是通道

這個問題的表面,如果您的Apps腳本不被頻道所有者運行的所有者即渠道經理。換句話說,如果您的Google Apps腳本是使用您的Google帳戶編寫的,而Google帳戶也被用作YouTube頻道所有者,那麼您可以使用它,否則會遇到身份驗證問題。

我記錄的解決方案是Using Google Apps Script to proxy YouTube Analytics Channel Reports,它提供了更多關於此的詳細信息。

另一個可能造成問題的因素是您的YouTubeAnalytics查詢丟失start-dateend-date - Report: Query documentation指示這些爲必需參數。爲了解決這個問題的功能可以改寫:

function youTubeAnalytics() { 
    var myChannels = YouTube.Channels.list('id', {mine: true}); 
    var channel = myChannels.items[0]; 
    var channelId = channel.id; 
    var analyticsResponse = YouTubeAnalytics.Reports.query(
    'channel==' + channelId, 
    '2010-01-01', 
    Utilities.formatDate(new Date(), 'GMT', 'yyyy-MM-dd'), 
    'estimatedMinutesWatched,views,likes,subscribersGained', 
    {dimensions: 'video','max-results': '200',sort: '-views'}); 
    Logger.log(analyticsResponse); 
} 
+0

謝謝@mhawksey您的意見。代碼縮寫,這些是我擁有的渠道。我今晚更加關注它。 – chipoglesby

0

您需要使用OAuth認證的谷歌AppScript。 IT將爲您提供在線和離線訪問。

Google API使用OAuth 2.0協議進行身份驗證和授權。 Google支持常見的OAuth 2.0場景,例如Web服務器,已安裝的應用程序和客戶端應用程序。

以下是關於如何在您的Apps腳本中使用OAuth的一些guideline

+0

謝謝@KENdi,我發現github上回購較早,但我不知道你有,如果你正在使用谷歌的API與OAuth2用戶進行身份驗證。我今晚會看看這個報告並回報。 – chipoglesby

相關問題