Google Drive API获取文件 编辑URL

问题描述 投票:6回答:3

从04202015年起,Google Documents API v3.0被废弃,在此日期和之后将不再发挥功能。所以任何使用这个API的人都必须切换到使用Google Drive API。

我已经将Google Drive API集成到我的PHP应用中,但我找不到如何为我创建或上传的文件获取EDIT URL。以前在Google Documents API上传文件后,响应会返回一个编辑网址,这将是一个直接编辑文件的网址。

我使用的是一个服务账号,使用我的google开发者账号生成的key,在 https:/console.developer.google.com。. 这意味着我的应用程序是代表我的服务帐户的开发者帐户为我创建的调用。一个谷歌驱动器服务帐户不能被访问的驱动器UI,因为作为一个用户,你不能登录到帐户,因为你会一个个人谷歌帐户。

我所做的是分享我的文件,我已经上传或创建与我的个人帐户,并在调用的谷歌返回的网址被命名为 "交替链接",它是这样的格式。https:/docs.google.comfiled0B0nkjw07ekP9LUpuZG4tOHcxdkEedit?usp=drivesdk。

然而,当登录到我分享上述文件的账户时,它只是进入了一个查看器,而不是 "谷歌文档编辑器"

如何用Google Drive API获取文件的编辑链接?

google-drive-api google-docs google-docs-api google-api-php-client
3个回答
1
投票

你使用的链接是正确的,所以这不是问题。


1
投票

主要的问题是你必须在上传的时候设置转换为真。如果不转换文件,谷歌将给你的链接,以查看而不是编辑。

这里有 你会得到文件上传的细节。请检查下面的代码,我只添加了转换字段:-。

$file = new Google_Service_Drive_DriveFile();
  $file->setTitle($title);
  $file->setDescription($description);
  $file->setMimeType($mimeType);

  // Set the parent folder.
  if ($parentId != null) {
    $parent = new Google_Service_Drive_ParentReference();
    $parent->setId($parentId);
    $file->setParents(array($parent));
  }

  try {
    $data = file_get_contents($filename);

    $createdFile = $service->files->insert($file, array(
      'data' => $data,
      'mimeType' => $mimeType,
      'convert' => true // To convert you file
    ));
    return $createdFile;
  } catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
  }

1
投票

AlternateLink是编辑网址,我的问题是uploadType值和文件类型的mime-type,当试图上传或创建文件与谷歌驱动器api。

© www.soinside.com 2019 - 2024. All rights reserved.