我正在开始一些基于 Google Drive 的开发。某种类型的“在 Excel 中编辑,将其放入数据库”。问题是:我正在尝试从驱动器下载文件,但无法获取 downloadUrl 属性。
我正在关注这个页面,来自谷歌本身:https
://developers.google.com/drive/manage-downloads
它说我必须获取文件元数据,然后提取 downloadUrl 属性。
和许可有关系吗?或者类似的东西?
编辑
这是我正在使用的代码(部分)。首先,显示在 Google 页面上的功能
function downloadFile($service, $file) {
$downloadUrl = $file->getDownloadUrl();
if ($downloadUrl) {
$request = new Google_HttpRequest($downloadUrl, 'GET', null, null);
$httpRequest = Google_Client::$io->authenticatedRequest($request);
if ($httpRequest->getResponseHttpCode() == 200) {
return $httpRequest->getResponseBody();
}
}
}
其余代码仍以示例为例:
$client = new Google_Client();
// Get your credentials from the APIs Console
$client->setClientId('xxxxxxxxxxxxxxxxxxx');
$client->setClientSecret('xxxxxxxxxxxxxxxxxxxxxx');
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$service = new Google_DriveService($client);
$authUrl = $client->createAuthUrl();
//Request authorization
print "Please visit:\n$authUrl\n\n";
print "Please enter the auth code:\n";
$authCode = trim(fgets(STDIN));
// Exchange authorization code for access token
$accessToken = $client->authenticate($authCode);
$client->setAccessToken($accessToken);
//Retrive a file
$file = new Google_DriveFile();
$file->setDownloadUrl("https://www.googleapis.com/drive/v2/files/{fileID}");
$requestedFile = json_decode(downloadFile($service, $file));
print_r($requestedFile);
打印时,我看不到 downloadUrl 属性。当然,我也进不去!