API上载和使用php插入权限后,文件在驱动器中不可见
我正在将谷歌api集成到laravel应用程序中 文件似乎已正确上载,但在驱动器GUI中仍不可见 后来进行了多次搜索,我获得了以下代码来设置新创建文件的权限:API上载和使用php插入权限后,文件在驱动器中不可见,php,google-drive-api,Php,Google Drive Api,我正在将谷歌api集成到laravel应用程序中 文件似乎已正确上载,但在驱动器GUI中仍不可见 后来进行了多次搜索,我获得了以下代码来设置新创建文件的权限: $id = id of created file $value = 'my@email.address.com'; $type = "anyone"; $role = "writer"; $drive->insertPermission($id, $value, $type, $role); function insertPe
$id = id of created file
$value = 'my@email.address.com';
$type = "anyone";
$role = "writer";
$drive->insertPermission($id, $value, $type, $role);
function insertPermission($fileId, $value, $type, $role) {
$service = $this->service;
$newPermission = new \Google_Service_Drive_Permission();
$newPermission->setType($type);
$newPermission->setRole($role);
try {
return $service->permissions->create($fileId, $newPermission);
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
return NULL;
}
这似乎奏效了。不会抛出任何错误。但当我在驱动器中搜索时,仍然看不到该文件。有什么想法吗?正如普什彭德拉指出的那样,我需要改变
$type="anyone"; to $type="user";
and
$role="writer"; to $role="reader";
最后,我通过在驱动器UI中创建一个文件夹并与服务帐户共享该文件夹解决了这个问题。服务帐户能够在该共享文件夹中创建/更新文件,当它这样做时,我会收到一个通知。尝试更改$type=“anyone”;至$type=“user”;和$role=“writer”;至$role=“reader”;你确定你要查找的帐户与你上载到的帐户相同吗?@pinoyyid我创建了一个服务帐户,所以我假设文件也上载到这个帐户,然后我需要与我的主帐户共享这些帐户。@Pushpendra我很快就完成了,但没有掷骰子。不过,我会继续往下试。听起来这就是问题所在。服务帐户完全独立于您用来创建它们的用户帐户。您可以共享文件夹(imho),也可以直接使用所需帐户。