gpt4 book ai didi

javascript - 使用drive.files.export(Drive API v3)+ API key 获取文本/纯格式的公共(public)Google文档内容

转载 作者:行者123 更新时间:2023-11-28 06:26:13 24 4
gpt4 key购买 nike

我需要在网页中以文本/纯格式加载我的公共(public) Google 文档的内容。

我发现 API“drive.files.export”似乎完全符合我的需要。

https://developers.google.com/drive/v3/reference/files/export

https://developers.google.com/apis-explorer/#search/drive/drive/v3/drive.files.export

这是我创建的测试文件的链接:

https://drive.google.com/open?id=1L5XSb0mR4VrVagQLRkvdg9aSMjRgWdq0L6d7TK8Vslo

所以文件 ID 是:

1L5XSb0mR4VrVagQLRkvdg9aSMjRgWdq0L6d7TK8Vslo

我还在 Google Developers Console 上创建了一个项目,启用了 Drive API 并获取了 API key :

AIzaSyCeVVoW3NbuoVrmW_pa5HtVSG2rxQyEDXs

通过阅读“JavaScript API 客户端库”文档,我认为我不需要“OAuth 2.0”身份验证,因为我不会访问任何用户私有(private)数据。所以 API key 应该足够了。这个想法是用户不必进行任何授权。

https://developers.google.com/api-client-library/javascript/features/authentication

所以我想出了这个简单的代码:

<script type="text/javascript">

function makeRequest() {
var request = gapi.client.drive.files.export({
'fileId': '1L5XSb0mR4VrVagQLRkvdg9aSMjRgWdq0L6d7TK8Vslo',
'mimeType': 'text/plain'
});

request.then(function(response) {
console.log(response);
}, function(err) {
console.log('Error');
console.log(err.result.error);
});
}

function init() {
gapi.client.setApiKey('AIzaSyCeVVoW3NbuoVrmW_pa5HtVSG2rxQyEDXs');
gapi.client.load('drive', 'v3').then(makeRequest);
}

</script>
<script src="https://apis.google.com/js/client.js?onload=init"></script>

但是它不起作用。我总是得到这样的回应:

{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}

但是,当我尝试“drive.files.get”API ( https://developers.google.com/apis-explorer/#search/drive/drive/v3/drive.files.get ) 只是为了使用提到的文件 ID 和 API key 进行测试时,我从 API 得到了正确的响应:

{
"kind": "drive#file",
"id": "1L5XSb0mR4VrVagQLRkvdg9aSMjRgWdq0L6d7TK8Vslo",
"name": "test",
"mimeType": "application/vnd.google-apps.document"
}

这是否是drive.files.export API的一个错误,这就是为什么它不能与组合API key +公共(public)文件一起使用,或者我错过了一些东西并且我在这里做错了什么?

如果有任何帮助,我会非常高兴。

最佳答案

错误 500 是服务器错误。请参阅ON_SERVER_ERROR 。对于此类错误,您可以采取的措施是实现 exponential backoff再次触发请求。

Back-off required implementation which its isRequired(HttpResponse) returns true if a server error occurred (5xx).

关于javascript - 使用drive.files.export(Drive API v3)+ API key 获取文本/纯格式的公共(public)Google文档内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35108960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com