dq_609586475 2019-08-08 21:56
浏览 32
已采纳

如何通过PHP查看上传到谷歌驱动器的文件?

I have been trying to upload files to my google drive account via service-account using php. I guess the file is successfully uploaded as I can print the file id, file created time and all other information.

Here is my issue: When I login into my google drive account, I cannot see any uploaded file. Where is the file hiding or what should I do?

Here is the code:

require __DIR__ . '/vendor/autoload.php'; //api
$serviceAccount     = "xxx@xxxxxx.iam.gserviceaccount.com";
$key_file       = "mykey-goes-here.p12";
$auth = new Google_Auth_AssertionCredentials(
                    $serviceAccount,
                    array('https://www.googleapis.com/auth/drive.file'),
                    file_get_contents($key_file)
                    );
$client = new Google_Client();
$client->setAssertionCredentials( $auth );

$service = new Google_Service_Drive($client);

 $file = new Google_Service_Drive_DriveFile();
  $file->setTitle("my file name");
 $file->setDescription('testing desc');
 $file->setMimeType('text/plain');
                // Provide file name here and path in below 

  $result = $service->files->insert($file, array(
  'data' => file_get_contents("test.txt"),
//'mimeType' => 'text/plain',
  'mimeType' => 'application/octet-stream',
  'uploadType' => 'media',
 //'uploadType' => 'multipart'
));

 // Uncomment the following line to print the File ID
   printf("File ID: %s
", $result->id);


echo "<br><br>";
echo '<pre>'; print_r($result); echo'</pre>';
  • 写回答

1条回答 默认 最新

  • duanguzhong5776 2019-08-08 23:52
    关注

    solution:

    I discovered that Files uploaded by service account is not available via UI.

    To solve the issue, one need to delegate/authorize the application to use the said service account. link

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?