API上载和使用php插入权限后,文件在驱动器中不可见

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

我正在将谷歌api集成到laravel应用程序中

文件似乎已正确上载,但在驱动器GUI中仍不可见

后来进行了多次搜索,我获得了以下代码来设置新创建文件的权限:

$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),也可以直接使用所需帐户。