Скопируйте файл с разрешениями в Google Drive API PHP - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь скопировать файл с учетной записью службы, а затем предоставить доступ к моей личной учетной записи. Кажется, что копия работает правильно, что похоже на копирование файла в учетную запись службы Google Drive. Таким образом, возвращается и идентификатор, который был создан, но не удается при попытке вставить разрешения на файл. говорит неопределенный метод вставки.

Вот что у меня сейчас

private function copy_base_file( $new_file_name )
{
    $service = $this->get_google_service_drive( $this->get_google_client() );
    $origin_file_id = "{id of file to copy}";
    $copiedFile = new Google_Service_Drive_DriveFile();
    $copiedFile->setName($new_file_name);
    try {
        $response = $service->files->copy($origin_file_id, $copiedFile);
        $ownerPermission = new Google_Service_Drive_Permission();
        $ownerPermission->setEmailAddress("{myemailhere}");
        $ownerPermission->setType('user');
        $ownerPermission->setRole('owner');
        $service->permissions->insert("{sheet_id_here}", $ownerPermission, 
            ['emailMessage' => 'You added a file to ' .
            static::$applicationName . ': ' . "Does this work"]);
    } catch (Exception $e) {
        print "An error occurred: " . $e->getMessage();
    }
}

1 Ответ

0 голосов
/ 30 августа 2018

В последней версии (V3) API Google Диска метод вставки устарел.

Вместо этого используйте метод создания.

Разрешения API V3 Drive Создать

private function copy_base_file( $new_file_name )
{
$service = $this->get_google_service_drive( $this->get_google_client() );
$origin_file_id = "{id of file to copy}";
$copiedFile = new Google_Service_Drive_DriveFile();
$copiedFile->setName($new_file_name);
try {
    $response = $service->files->copy($origin_file_id, $copiedFile);
    $ownerPermission = new Google_Service_Drive_Permission();
    $ownerPermission->setEmailAddress("{myemailhere}");
    $ownerPermission->setType('user');
    $ownerPermission->setRole('owner');
    $service->permissions->create("{sheet_id_here}", $ownerPermission, 
        ['emailMessage' => 'You added a file to ' .
        static::$applicationName . ': ' . "Does this work"]);
} catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...