PHP gdrive上传文件

时间:2017-10-24 12:51:02

标签: php google-api google-drive-api google-api-php-client

没有错误。为什么不发送文件?

error_reporting(E_ALL);
    ini_set('display_errors',1);
         try{       
    require_once './vendor/autoload.php';

    $client = new Google_Client();

    $oauth_credentials = './vendor/test.json';


    $client = new Google_Client();
    $client->setAuthConfig($oauth_credentials);
    $client->setScopes('https://www.googleapis.com/auth/drive');


    $driveService = new Google_Service_Drive($client);

    $fileMetadata = new Google_Service_Drive_DriveFile(array(
        'name' => 'photo.png'));


    $content = file_get_contents('./vendor/plik.png');
    $file = $driveService->files->create($fileMetadata, array(
        'data' => $content,
        'mimeType' => 'image/png',
        'uploadType' => 'multipart',
        'fields' => 'id'));
    printf("File ID: %s\n", $file->id);

    }catch(Exception  $e){
    echo $e->getMessage();
    }

1 个答案:

答案 0 :(得分:0)

您似乎正在使用服务帐户。服务帐户不是您。使用服务帐户上传的文件将上传到服务帐户google云端硬盘帐户。

使用谷歌驱动器的服务帐户的提示:

  1. 没有服务帐户文件的Web视图。
  2. 执行file.list以查看该文件是否实际上传到您的服务帐户。
  3. 在您的个人Google云端硬盘帐户上共享一个目录,并将服务帐户上传到该帐户。请记住授予自己对该文件的权限。