所以我试图创建一个可以自动删除我订阅的所有频道的程序,但是我遇到了一个我无法解决的错误..
我有这段代码(在完成正确的身份验证后):
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();
}
然而,运行此操作会给我这个错误:
尝试从YouTube教程添加订阅的代码,并且工作正常..
编辑:错误来自d.execute();
EDIT2:同样使用https://developers.google.com/youtube/v3/docs/subscriptions/delete(页面底部)的示例删除订阅会产生同样的错误
答案 0 :(得分:0)
我认为问题在于您使用的是setMySubscribers(true)
,它会为您提供订阅的订阅列表,而不是您的帐户订阅的列表。 (并且您无法删除其他人对您的频道所做的订阅。)而是使用setMine(true)
来获取您帐户的订阅。
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();
...