2016-06-06 7 views
0

Also ich versuche, ein Programm zu machen, das automatisch alle Kanäle löschen kann, die ich abonniert habe, aber ich lief in einen Fehler, den ich nicht lösen kann.Wie lösche ich Abonnements mit YouTube API v3 (Java)?

Ich habe diesen Code (nachdem die richtige Authentifizierung durchgeführt wurde) :

Subscriptions subs = youtube.subscriptions(); 
    com.google.api.services.youtube.YouTube.Subscriptions.List subscribers =subs.list("id").setMySubscribers(true); 
    SubscriptionListResponse resp = subscribers.execute(); 

    for(Subscription s: resp.getItems()){ 
     System.out.println(s.getId()); 
     com.google.api.services.youtube.YouTube.Subscriptions.Delete d = subs.delete(s.getId()); 
     d.execute(); 

    } 

jedoch gibt mir diesen Fehler diese ausgeführt wird:

Error pic

den Code versucht ein Abonnement aus dem YouTube-Tutorial und das funktioniert gut hinzuzufügen ..

BEARBEITEN: Der Fehler kommt von d.execute();

EDIT2: Auch dabei am Beispiel https://developers.google.com/youtube/v3/docs/subscriptions/delete (unten auf der Seite), um das Abonnement zu löschen gibt den gleichen Fehler

+1

Der Fehler ist ziemlich selbsterklärend, denke ich. * Berechtigung verweigert * Sie sollten also anfangen zu sehen, wo Sie Ihren Benutzer definieren (Anmeldeinformationen, möglicherweise geheimer Schlüssel und so weiter). –

+0

Ich sah dort ... Ich gebe die maximale Authentifizierungsstufe möglich .. –

Antwort

0

Ich denke, das Problem ist, dass Sie setMySubscribers(true) verwenden, die Sie die Liste des Abonnements zu deinem Kanal, nicht die Liste, die dein Konto abonniert hat. (Und es ist sinnvoll, dass Sie keine Abos löschen können, die andere Nutzer in Ihrem Kanal getätigt haben.) Verwenden Sie stattdessen setMine(true), um die Abonnements Ihres Kontos zu erhalten.

Subscriptions subs = youtube.subscriptions(); 
com.google.api.services.youtube.YouTube.Subscriptions.List subscribers = 
    subs.list("id").setMine(true); // <- use setMine(), not setMySubscribers() 
SubscriptionListResponse resp = subscribers.execute(); 
... 
+0

Aaaaah macht Sinn! Danke, das hat das Problem gelöst! :-) –

Verwandte Themen