Я пытаюсь загрузить изображения с API Google (https://github.com/google/google-api-php-client), и я не могу заставить его работать. Всякий раз, когда я запускаю его, он дает мне ошибку 401 Login Required
. Вот мой код:Использование Google Диска API с PHP для загрузки изображений?
Функции:
public function __construct()
{
$this->instance = new \Google_Client();
$this->instance->setApplicationName('DPStatsBot');
$this->instance->setDeveloperKey(Config::getInstance()->getDriveDeveloperKey());
$this->instance->addScope('https://www.googleapis.com/auth/drive');
$this->drive_instance = new \Google_Service_Drive($this->instance);
}
public function upload($image, $dpname)
{
$file = new \Google_Service_Drive_DriveFile();
$file->setTitle($dpname . '_' . RandomString::string());
$upload = $this->drive_instance->files->insert($file,
[
'data' => $image,
'mimeType' => 'image/jpg',
'uploadType' => 'media'
]);
return $upload;
}
вызовы функций:
$client = new DriveClient();
foreach($dm->entities->media as $img)
{
Printer::write('Recieved image from "' . $dm->sender->screen_name . '", saving to Drive...');
$client->upload($this->getImage($img->media_url), $dm->sender->screen_name);
}
Ошибка:
Fatal error: Uncaught exception 'Google_Service_Exception' with message 'Error c
alling POST https://www.googleapis.com/upload/drive/v2/files?uploadType=multipar
t&key=APIKEYHERE: (401) Login Required' in C:\Doesp
lay\DPStatsBot\vendor\google\apiclient\src\Google\Http\REST.php:110
Ключ API я использую с моей консоли Google Developers под APIs & auth->Credentials
и является общедоступным API-интерфейсом.
Любая помощь будет принята с благодарностью!
Благодаря
Edit:DriveClient
класс, который содержит функции
читать о oauth2. вы не аутентифицируетесь. и открытые ключи не для этого. –