2013-03-21 15 views
7

Viene visualizzato un errore Proibito 403 quando si tenta di ottenere dati API aft su youtube utilizzando un account CMS.Utilizzo dell'API di YouTube Analytics con un account CMS

Giusto per confermare, un account CMS è la stessa cosa di un account di servizio?

È possibile ottenere dati di analisi per i canali di proprietà dell'utente oauth2 ma ottengo il 403 su tutti gli altri canali a cui ho accesso tramite il mio account CMS ma non sono il proprietario dei contenuti di. (Ho un account di livello amministratore nell'account CMS e i canali ottengono errore 403 su una relazione "gestita")

Domanda: ci sono piani per avere il supporto di youtube.analytics per l'interrogazione dei canali gestiti con un account CMS?

Sembra che dal momento che posso utilizzare tale account per ottenere tutti i dati di analisi per questi canali utilizzando l'interfaccia utente CMS che dovrei essere in grado di fare lo stesso utilizzando l'API.

risposta

10

Un account YouTube Content Management System non è la stessa cosa di Service Account. Non sarai lontano con le API di YouTube se esegui l'autenticazione come account di servizio, poiché tale account di servizio non avrà accesso ai canali YouTube effettivi. L'autenticazione come account CMS, tuttavia, ti darà quello che vuoi.

Molto di recente è stato messo in produzione, quindi illustrerò i passaggi completi illustrando in che modo le persone con accesso al CMS di YouTube possono eseguire i rapporti dell'API di YouTube Analytics sui canali e i video che gestiscono.

(opzionale) Mentre autorizzato tramite OAuth 2 come account CMS, utilizzando sia i https://www.googleapis.com/auth/youtube.readonly e https://www.googleapis.com/auth/youtubepartner ambiti, fare un YouTube Data API v3 channels.list() chiamata con i seguenti parametri: part=snippet,contentDetails, managedByMe=true, maxResults=50, onBehalfOfContentOwner=CONTENT_OWNER_ID. CONTENT_OWNER_ID è l'unico valore per cui è necessario eseguire l'hardcode qui e deve essere impostato sul "codice partner" per il tuo account YouTube CMS. Questo ti restituirà un elenco di fino a 50 canali gestiti dal tuo account CMS. (Se hai bisogno di più di 50, dovrai sfogliare i risultati.) L'ID di ciascun canale verrà restituito in channel.id e altre informazioni utili (come l'id dell'elenco dei caricamenti, se desideri ottenere l'elenco dei video in quel canale) sarà anche restituito.

Se si conosce già l'ID del canale UC... per il canale su cui si desidera eseguire i report, è possibile saltare tale passaggio e passare direttamente al report di Analytics.

Per eseguire un rapporto a livello di canale su un canale gestito, mentre autorizzato come account CMS, fare un YouTube Analytics API request con i seguenti parametri: ids=contentOwner==CONTENT_OWNER_ID, filters=channel==UC..., e quindi qualsiasi altro rapporto parametri che si desidera.

Per eseguire un rapporto a livello di video, impostare ids=contentOwner==CONTENT_OWNER_ID e filters=video==VIDEO_ID, dove VIDEO_ID è l'ID di qualsiasi video in qualsiasi canale gestito dall'account CMS.

Ci sono ulteriori dettagli sui rapporti del proprietario dei contenuti in the docs.

+0

Jeff, la ringrazio molto per aver chiarito la domanda CMS vs Account di servizio e tutti i dettagli per l'interrogazione dell'API di analisi come account CMS. Questo mi aiuterà molto. – kk64738

+0

Jeff, ha appena postato una domanda di follow-up qui: (http://stackoverflow.com/q/15822889/2194129) Apprezzo molto se avete qualche idea? – kk64738