我試圖使用Google服務帳戶列出來自YouTube Data API v3的視頻。我啓動了YouTube API,創建了帳戶服務,但每當我嘗試從我的頻道列出視頻時,即使我確實上傳了視頻,也會顯示0個視頻。Youtube API v3:使用服務帳戶列出視頻
我從他們的文檔中運行樣本,但似乎我的憑據直接從我的服務帳戶列出視頻,而不是我真實的YouTube帳戶。
List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube");
JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("youtube-****serviceaccount.com")
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKeyFromP12File(new File("C:\\tmp\\youtube.p12"))
.build();
youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential).setApplicationName(
"youtube-cmdline-uploadvideo-sample").build();
YouTube.Channels.List channelRequest = youtube.channels().list("contentDetails");
channelRequest.setMine(true);
ChannelListResponse channelResult = channelRequest.execute();
List<Channel> channelsList = channelResult.getItems();
String uploadPlaylistId = channelsList.get(0).getContentDetails().getRelatedPlaylists().getUploads();
uploadPlaylistId
這裏應該是我的頻道ID,但我不知道它是什麼,我所知道的是,這是一個空的頻道。 (如果我使用我的真實ID頻道檢查,我可以列出我的上傳內容,似乎我的服務帳戶沒有正確引用我的YouTube帳戶...)
YouTube的API不支持服務帳戶,你需要使用的oauth2 – DaImTo