java - 使用服务帐户的 Youtube 视频 ID - 收到错误 403 响应

标签 java youtube oauth-2.0 youtube-api youtube-data-api

我正在开发 Java 代码,通过使用服务帐户身份验证来检索相应 Assets ID 的视频 ID。我已按照下面提到的步骤进行操作。 步骤 1:编写一个 Java 程序,使用服务帐户从 Google 身份验证中检索访问 token 。 该代码用于获取access_token:

    String EmailId = "XXXXXXXXXXX@developer.gserviceaccount.com";

                         //passing Scope
                         @SuppressWarnings({ "unchecked", "rawtypes" })
                           List<String>scops = new <String>ArrayList();
                           scops.add("https://www.googleapis.com/auth/youtubepartner");

                         final HttpTransport TRANSPORT = new NetHttpTransport();
                      final JsonFactory JSON_FACTORY = new JacksonFactory();

                  // Create a listener for automatic refresh OAuthAccessToken
                   List<CredentialRefreshListener> list = new ArrayList<CredentialRefreshListener>();
                   list.add(new CredentialRefreshListener() {
                         @Override
                       public void onTokenResponse(Credential credential,
                               TokenResponse tokenResponse) throws IOException {
                           System.out.println(tokenResponse.toPrettyString());

                       }

                       public void onTokenErrorResponse(Credential credential,
                               TokenErrorResponse tokenErrorResponse)
                               throws IOException {
                           System.err.println("Error: "
                                   + tokenErrorResponse.toPrettyString());
                       }


                   });
                         GoogleCredential credential = new GoogleCredential.Builder()
                         .setTransport(TRANSPORT)
                         .setJsonFactory(JSON_FACTORY)
                         .setServiceAccountId(EmailId)
                         .setServiceAccountScopes(scops)
                         .setServiceAccountPrivateKeyFromP12File(new File("test.p12"))
                         .setRefreshListeners(list)
                         .build();
                  credential.refreshToken();

第 2 步:将第 1 步中获取的访问 token 作为参数传递到下面提到的 URL 中,以获取 Youtube 视频 ID

示例网址为:

最佳答案

通过之前的项目,我知道您需要在 Google 控制台中启用 API。我会先尝试一下。

https://code.google.com/apis/console

关于java - 使用服务帐户的 Youtube 视频 ID - 收到错误 403 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924617/

相关文章:

java - 在 Android 上使用来自 libGDX 的 SQLite

javascript - 解析 Youtube 视频源 XML

android - 用于 java/android 的 youtube api,如何开始?

c# - 无法在 Electron 应用程序中使用 Discord OAuth2

oauth - 接受来自多个授权服务器的 token

php - 如何从头开始在 Laravel 5.4 中实现 OAuth 2.0

java - Mockito 验证方法调用的顺序/顺序

java - AdMob 覆盖了我的 EditText 和 TextView

java - Play Framework - 使用 JPA 的分页

django - 在 Django/Python 中允许嵌入视频的方法有哪些?