Я пытаюсь загрузить видео на youtube с помощью PHP API (V3).
Моя проблема: я не хочу аутентифицировать конкретного пользователя, но мое приложение использует серверный ключ (а не идентификатор клиента) и загружает пользователя, которому принадлежит приложение.
Мой код:
$DEVELOPER_KEY = '';
$APPNAME = "";
$client = new Google_Client();
$client->setDeveloperKey($DEVELOPER_KEY);
$client->setScopes('https://www.googleapis.com/auth/youtube');
$client->setApplicationName($APPNAME);
$videoPath = "";
$video = new Google_Service_YouTube_Video();
$youtube = new Google_Service_YouTube($client);
$insertRequest = $youtube->videos->insert("status,snippet", $video);
// Create a MediaFileUpload object for resumable uploads.
$media = new Google_Http_MediaFileUpload(
$client, $insertRequest, 'video/*', null, true, 1 * 1024 * 1024
);
Ошибка:
Требуется авторизация пользователя
Я не хочу использовать аутентификацию клиента... нет конкретного пользователя. Есть ли способ аутентифицировать только серверный ключ (от имени владельца приложения)?
Попробуйте отложить вызов auth: $client->setDefer(true);
, См. Полный пример здесь (переход на вкладку PHP). Кроме того, дважды проверьте ключ разработчика. Это должен быть server key
. Без ограничений IP. Или двойные проверки ip-ограничений.
Server API key
.