Задать вопрос

Как отправить данные из формы с сайта в Google Drive?

Задача: есть сайт с формой. При заполнении пользователем формы данные должны записываться в файл и этот файл должен отправляться мне в Google Drive.

Для решения этой задачи я взял специальный клиент для google api: https://github.com/google/google-api-php-client
И документация к нему: https://developers.google.com/api-client-library/p...

В документации описано несколько способов авторизации. Я выбрал "OAuth 2.0 for Server to Server Applications", т.к. мне нужно отправлять файл конкретно в мой диск, а не в пользовательский.
Далее сделал все по инструкции, добавил проект в Google Developers Console, сгенерировал CLIENT ID и P12 ключ.

Использовав примеры из документации, написал такой код:
<?php
require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');

$client_email = '***';
if (file_exists("key.p12")) {
  $private_key = file_get_contents('key.p12');
}

$scopes = array('https://www.googleapis.com/auth/drive');
$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key
);

$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
  $client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_Drive($client);

DEFINE("TESTFILE", 'testfile-small.txt');
if (!file_exists(TESTFILE)) {
  $fh = fopen(TESTFILE, 'w');
  fwrite($fh, "TEST TEST TEST");
  fclose($fh);
}

$file = new Google_Service_Drive_DriveFile();
$file->setTitle("Hello World!.txt");
$result2 = $service->files->insert(
    $file,
    array(
      'data' => file_get_contents(TESTFILE),
      'mimeType' => 'application/octet-stream',
      'uploadType' => 'multipart'
    )
);


К сожалению поставленную задачу решить так и не удалось. Причину тоже не могу понять, вроде как авторизацию не проходит.

Прошу помочь разобраться с данной проблемой или предложить альтернативные пути решения поставленной задачи.
  • Вопрос задан
  • 1292 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽