Google 驱动器 API - 导出为 HTML 导致 500 内部错误
Google Drive API - export as HTML results in 500 Internal Error
几个月来我一直在使用 Google 驱动器 API 来获取我创建的 Google 驱动器文档的内容并导出为 HTML 到嵌入到我的网络应用程序中。
示例代码:
$client = new Google_Client();
$client->setApplicationName('My App');
$client->setScopes(Google_Service_Drive::DRIVE_READONLY);
$client->setDeveloperKey(GOOGLE_DRIVE_API_KEY);
$client->setAccessType('offline');
$service = new Google_Service_Drive($client);
$files = $service->files->listFiles([
'q' => "'" . GOOGLE_DRIVE_RN_FOLDER_ID ."' in parents",
'orderBy' => 'createdTime desc',
]);
foreach($files as $file)
{
$response = $service->files->export(
$file->id,
'text/html',
array(
'alt' => 'media'
)
);
$html = $response->getBody()->getContents();
}
这个代码上周坏了,我不明白为什么。 $service->files->listFiles()
方法成功运行(我可以在响应中看到文件名),但是 $service->files->export()
方法 returns 一个 500 Internal Error
。示例响应:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}
我在尝试直接在网络浏览器中访问 API URL 时也收到同样的错误:https://www.googleapis.com/drive/v3/files/1-DTp74pyo5nnDyR9cWt_d7oi7OdS7JwAZ6ZrKSQ54p0/export?mimeType=text%2Fhtml&key={my_key}
.
我尝试重新生成 API 密钥,创建一个新项目并生成一个全新的 API 密钥。我继续收到同样的错误。
Google 显然已更改为 API,答案显然是使用服务帐户,但我仍在等待更新。
这可能会回答你的问题,但我没有运气:
如果您得到答案,请告诉我们!
几个月来我一直在使用 Google 驱动器 API 来获取我创建的 Google 驱动器文档的内容并导出为 HTML 到嵌入到我的网络应用程序中。
示例代码:
$client = new Google_Client();
$client->setApplicationName('My App');
$client->setScopes(Google_Service_Drive::DRIVE_READONLY);
$client->setDeveloperKey(GOOGLE_DRIVE_API_KEY);
$client->setAccessType('offline');
$service = new Google_Service_Drive($client);
$files = $service->files->listFiles([
'q' => "'" . GOOGLE_DRIVE_RN_FOLDER_ID ."' in parents",
'orderBy' => 'createdTime desc',
]);
foreach($files as $file)
{
$response = $service->files->export(
$file->id,
'text/html',
array(
'alt' => 'media'
)
);
$html = $response->getBody()->getContents();
}
这个代码上周坏了,我不明白为什么。 $service->files->listFiles()
方法成功运行(我可以在响应中看到文件名),但是 $service->files->export()
方法 returns 一个 500 Internal Error
。示例响应:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}
我在尝试直接在网络浏览器中访问 API URL 时也收到同样的错误:https://www.googleapis.com/drive/v3/files/1-DTp74pyo5nnDyR9cWt_d7oi7OdS7JwAZ6ZrKSQ54p0/export?mimeType=text%2Fhtml&key={my_key}
.
我尝试重新生成 API 密钥,创建一个新项目并生成一个全新的 API 密钥。我继续收到同样的错误。
Google 显然已更改为 API,答案显然是使用服务帐户,但我仍在等待更新。
这可能会回答你的问题,但我没有运气:
如果您得到答案,请告诉我们!