0

Apps Script keeps asking for offline permission with Youtube's APIYouTube分析離線訪問請求時爲品牌用戶

In Google Apps Script, access to YouTube Reporting API is Forbidden

的身份驗證,而不是這些不過,我登錄的主人非常類似的問題。劇本在主人的駕駛中。

我的問題

我一直在試圖使用GAS(谷歌Apps腳本)的內容所有者使用YouTube Analytics報告。品牌帳戶有兩個帳戶(包含數據即視頻內容)和用戶帳戶。他們都使用相同的憑據(電子郵件& pwd)。當授權爲用戶時,我得到了403(禁止)。當授權作爲品牌時,我被要求一次又一次授權離線訪問,阻止我永遠不能提出請求。

我已經試過...

  • 從節點運行,使用OAuth遊樂場代幣,和它的作品。但我需要堅持使用GAS。
  • 使用google-script-oauth2:硬編碼憑據(類似於Node解決方案),但我無法設置刷新令牌。我有一個401(無效的憑證) - 我相信承載令牌過期
  • 用於設置憑據,使YouTube和YouTube數據分析中的API
  • 報廢舊憑證和附加一個新的項目,以天然氣
  • 除去身份驗證隱私設置和用於IDS PARAM
  • 注contentOwner和信道參數之間重新認證
  • 切換一個使用不安全的腳本選項,並重復步驟3
  • 切換:我有兩個OAuth2用戶憑證應用腳本網絡客戶端都設置爲Web應用程序。

GAS代碼

function test(){ 
    YouTubeAnalytics.Reports.query("contentOwner==id", "2017-03-01", "2017-03-31", "likes"); 
} 

最後的思考

我相信是有品牌和用戶等之間的脫節,品牌不給予OAUTH相同的訪問2令牌。因此,它永遠不會生成刷新令牌。所以,請求會看到我是授權渠道所有者,但無法完成OAUTH流程。

如果這是真的,爲什麼,以及如何解決它?如果沒有,你認爲可能是什麼錯誤?

我剛剛意識到腳本在用戶帳戶中,而不是品牌帳戶。這會影響驗證嗎?

同樣在實際頻道上,用戶被列爲主要所有者。

+0

它也適用於我的個人帳戶 - 我在幾分鐘內設立 - 我真的很茫然。 –

回答

0

我認爲這個問題與Apps Script有限的OAuth範圍有關。打開腳本編輯器並導航至資源 - >高級Google服務,您會看到YouTube的Reporting API不受支持。但是,您可以使用服務帳戶解決此問題。他們是一個痛苦的設置,但一旦你得到他們啓動和運行,你可以明確地要求從GAS API進行授權調用所需的範圍。

這裏有一些鏈接,讓你開始:

Using OAuth 2.0 for Server to Server Applications

OAuth 2.0 Scopes for Google APIs

對於Using OAuth 2.0 for Server to Server Applications你要向下滾動到標題爲準備部分進行授權的API調用 。選擇HTTP/REST選項卡,它應該引導您完成設置服務帳戶所需的步驟(您需要在您的Google控制檯中創建一個JWT - J SON W eb T oken在您的API調用中使用)。您還需要從提供的第二個鏈接中檢索YouTube的Reporting API所需的OAuth範圍網址。完成設置後,您就可以使用URLFetchApp從Apps腳本直接向API發送請求。祝您的項目好運。

還有一件事。查看Google's API Explorer listing的YouTube報告API。您可以通過使用資源管理器來獲取您需要在UrlFetchApp調用中使用的URL端點(和請求方法)。


UPDATE 2017年4月28日

還要確保您Google API Console使YouTube報告API。

相關問題