小编use*_*719的帖子

无法使用服务帐户访问我的 Google 云端硬盘文件

我想创建一个应用程序,可以将文件添加到谷歌驱动器并将该文件共享给其他用户(例如abc@gmail.com)。该用户 abc@gmail.com 应该登录到应用程序,然后他可以查看并下载其驱动器中的所有可用文件。目前我已经使用谷歌驱动器的服务帐户来实现此目的。我可以将文件上传到谷歌驱动器,并且可以将其共享给用户 abc@gmail.com。但我面临以下问题。

  1. 使用电子邮件 xyz@gmail.com 我注册了驱动器并创建了一个项目,但是当我创建文件并使用驱动器 API 将其共享给用户 abc@gmail.com 时,该文件未在 xyz@gmail.com 的驱动器上列出,但是当我尝试通过 API 访问该文件,我可以看到这些文件。

  2. 对于用户 abc@gmail.com,共享文件在他的驱动器中可用,我可以看到,当我通过网络访问他的驱动器时,但当我尝试通过 API 访问它时,它显示没有文件。

请建议我哪里出错了。我可以这样做吗?

for user **xyz@gmail.com
$CLIENT_ID='xxxxxxxxx.apps.googleusercontent.com';
$SERVICE_ACCOUNT_EMAIL = 'xxxxxxxxxxxx@developer.gserviceaccount.com';
$SERVICE_ACCOUNT_PKCS12_FILE_PATH = 'xxxxxxxxxx-privatekey.p12';**

For user **abc@gmail.com
$CLIENT_ID='yyyyyyyyyyy.apps.googleusercontent.com';
$SERVICE_ACCOUNT_EMAIL = 'yyyyyyyyyyyy@developer.gserviceaccount.com';
$SERVICE_ACCOUNT_PKCS12_FILE_PATH = 'yyyyyyyyyyyy-privatekey.p12';**
Run Code Online (Sandbox Code Playgroud)

使用用户 xyz@gmail ID 创建了一个项目,并使用他上面的 clientID、帐户电子邮件、密钥文件创建了文件:

function insertFile($service, $title, $description, $parentId, $mimeType, $filename) {
        $file = new Google_DriveFile();
        $file->setTitle($title);
        $file->setDescription($description);
        $file->setMimeType($mimeType);
        // Set the parent folder.
        if ($parentId != null) {
            $parent = new ParentReference();
            $parent->setId($parentId);
            $file->setParents(array($parent));
        }
        try {
            $data …
Run Code Online (Sandbox Code Playgroud)

php google-drive-api

3
推荐指数
1
解决办法
4214
查看次数

标签 统计

google-drive-api ×1

php ×1