Я пытаюсь загрузить видео на аккаунт YouTube от имени пользователя [email protected] с помощью API данных YouTube V3, и я получаю ошибка «access_denied». Согласно Google документации:Загрузите видео на YouTube с учетной записью службы от имени пользователя по серверным данным API V3
Я открыл учетную запись службы с помощью администратора учетной записи Google «[email protected]» и Выполнив действия: www.developers.google.com/identity/protocols/OAuth2ServiceAccount# delegatingauthority.
Я зарегистрировался как «[email protected]» и предоставил разрешения учетной записи службы «[email protected]», созданной на шаге 1. (на www.console.developers.google.com/permissions/ вкладка projectpermissions 'разрешения' => 'добавить членов') add member
Это мой запрос (JAVA
):
youtube = new YouTube.Builder(
GoogleAuthImpl.HTTP_TRANSPORT,
GoogleAuthImpl.JSON_FACTORY,
new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[email protected]")
.setServiceAccountPrivateKeyFromP12File(new File("my-service-account.p12"))
.setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
.setServiceAccountUser("[email protected]")
.build()
)
.setApplicationName("My App")
.build();
И это ответ: com.google.api.client.auth.oauth2.TokenResponseException: 403 Forbidden { "error" : "access_denied", "error_description" : "Requested client not authorized." } at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105) at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287) at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307) at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:384) at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489) at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:859) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
Можно ли загружать видеоролик от имени пользователей? Я делаю что-то неправильно?
Кроме того, я нашел ссылку на API данных YouTube - потоки Oauth 2.0, которые могут указывать на то, что эта операция (экспорт на YouTube от имени другого пользователя через учетную запись службы) не поддерживается: www.developers.google.com/ youtube/v3/руководства/аутентификация # OAuth2_Flows
Порадовал бы ваш ответ!
@DalmTo Можете ли вы поделиться любым ресурсом, связанным с обновлением заголовка видео YouTube с помощью Oauth2 –
У меня нет возможности java, извините, я сделал это несколько лет назад с C#. – DaImTo