【发布时间】:2019-02-07 18:07:26
【问题描述】:
我需要预览我的谷歌驱动器文件,是我的档案,但是是私人的,但我不想登录我的帐户来预览文件,我如何使用 Oauth 身份验证来预览文件?如果是的话如何我可以做到。我尝试生成 webContentLink 但也需要登录,谢谢
$url_array = explode('?', 'My url permited');
$url = $url_array[0];
$client = new Google_Client();
$client->setClientId('My client ID');
$client->setClientSecret('My client secret');
$client->setRedirectUri($url);
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$client->setAccessType('offline');
$client->setState('offline');
$client->refreshToken('My refresh token with Oauth playground');
$service = new Google_Service_Drive($client);
在与 API 连接后,我将上传到谷歌驱动器
$content = file_get_contents($_FILES["file"]["tmp_name"]);//pega o conteudo do arquivo
$file = $service->files->create($fileMetadata, array(//função para inserir aonde tem 2 parametros,metadados e conteudo/tipo e etc do arquivo
'data' => $content,
'mimeType' => 'application/octet-stream',
'uploadType' => 'multipart',
'fields' => 'id,webViewLink,webContentLink,thumbnailLink'));
printf("File ID: %s\n", $file->id);
我需要这个 webViewLink 来放入 iframe,但是当我进入 webViewLink 时没有请求登录
【问题讨论】:
-
developers.google.com/drive/api/v3/about-auth 你应该以minimal reproducible example 的形式展示你尝试过的内容。
-
我不认为这是我的代码引起的问题,我只是想知道如何做某事,我已经建立了 Oauth 身份验证,我需要知道我必须在 API 中做什么。
-
但是minimal reproducible example 会给人们提供背景信息,所以他们真的很想帮助你。没有代码的问题在这里没有吸引力。例如,Drive API 具有对项目的不同级别的访问权限,以及一些不同的访问权限级别,即使是最低级别的访问权限。我们不知道你在做什么。
-
好的,我会更新我的问题
-
代码在问题中
标签: php google-api google-drive-api google-oauth google-api-php-client