2016-06-01 5 views
0

Mein Konto ist mit einem CMS verbunden, aber ich kann die Youtube Content ID nicht in der API-Bibliothek sehen. Allerdings sehe ich es in meinen aktivierten APIs !! (Es wurde angezeigt, nachdem ich versucht habe, "Anfragen mit OAuth 2.0 zu autorisieren" im Youtube Content ID API-Referenzdokument). Ich kann die API in Referenzdokument testen und es zeigt Daten von meinem CMS. Aber wenn ich die API von meinem Programm nennen, ist die Antwort immer wie folgt aus:Youtube Content ID API wird immer nicht gefunden.

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "notFound", 
    "message": "Not Found" 
    } 
    ], 
    "code": 404, 
    "message": "Not Found" 
} 
} 

Dies ist meine Implementierung mit Go:

func TestYoutubeAPI(w http.ResponseWriter, r *http.Request) { 
    data, err := ioutil.ReadFile("./google-service-key.json") 
    if err != nil { 
     log.Fatal(err) 
    } 
    config, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/youtubepartner", "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtube") 
    if err != nil { 
     log.Fatal(err) 
    } 
    client := config.Client(oauth2.NoContext) 

    request, _ := http.NewRequest("GET", "https://www.googleapis.com/youtube/partner/v1/assetSearch", nil) 
    request.Header.Add("Accept", "application/json") 

    query := request.URL.Query() 
    query.Add("createdAfter","2015-01-29T23:00:00Z") 
    query.Add("key", "XXX") 
    request.URL.RawQuery = query.Encode() 

    response, err := client.Do(request) 

    if err != nil { 
     fmt.Fprintln(w, err) 
    } else { 
     responseBody, _ := ioutil.ReadAll(response.Body) 
     fmt.Println(response.Status) 
     fmt.Fprintln(w, string(responseBody)) 
    } 
} 

Andere APIs (Youtube Data API) funktionieren mit diesem Code . Allerdings kann ich mit der Youtube Content ID API nicht mein erwartetes Ergebnis erzielen.

Jeder hat Erfahrung in diesem bitte helfen Sie mir. Vielen Dank.

Antwort

2

Ich fand die Antwort!

Weil ich Google Service Account verwendet habe, um mit Google API zu interagieren. Es scheint ein neues Benutzerkonto zu erstellen. Daher muss ich dem Youtube-CMS eine Erlaubnis erteilen, indem ich die E-Mail-Adresse des Dienstkontos an Youtube CMS anschließe. Schließlich kann ich über die API auf Youtube CMS zugreifen.