我正在寻找将文件上传到存储桶的绝对最低要求。以及所需的最低代码。
我所掌握的oAuth/API密钥信息最少来自
控制台。云谷歌。com/api/credentials/oauthclient/
clientId
:来自凭证页面的客户端ID
我不确定apiKey是否正确,但从一个示例中使用它不会引发错误:
// This is triggered after the `client.js` loads
function handleClientLoad() {
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
}
所以,这是第一步,但如果我错了,请纠正我。
现在要处理Auth结果:
function handleAuthResult(authResult) {
if (authResult && !authResult.error) {
makeApiCall();
}
}
我有点被卡住了,我正在研究一个例子:https://developers.google.com/api-client-library/javascript/start/start-js
在那里,当到达
。这是因为我有一个匿名用户,某种程度上是一个公开的API密钥。稍后我将实现每个用户的ACL,但现在我只需要它来工作/上传。gapi时,它停止工作。客户加人员
,其中未定义人员
现在,我在Amazon Cloud上也做了类似的工作,有一个简单的基于jQuery的小部件,可以上传文件,我只需要输入它们的API键
和bucket名称(很遗憾,这是在PHP
中)。
只要一个简单的
我知道
桶名。存储古格里皮斯。com
是文件的结尾,当我手动上传图像时,它就起作用了。
我现在正在使用
谷歌客户端
寻找绝对最小的代码段,最好是javascript,所以使用类似的东西(我在另一个示例中找到):
gapi.client.request({
'path': '/upload/storage/' + API_VERSION + '/b/' + BUCKET + '/o',
'method': 'POST',
'params': {'uploadType': 'media'}
'headers': {
'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
}
我需要
API_版本
?如何找到要使用的路径?我知道我的bucket
名字,但是upload/storage/
来自哪里?和/b/
?(尽管https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload显示我需要它)示例使用了带有边界的标题,但我找不到任何关于它的信息,我可能也不需要它。问题是我找不到任何
最低要求的
标题。我遇到了
“x-goog-acl”:“public read”
,这需要在标题中吗?
总之,我想回答的问题是:
如果alluser
访问权限设置为Owner
(我知道,这不是最好的主意,将来会改变)
我希望我的问题很清楚,我基本上不知道从哪里开始/找到正确的代码示例。尽管这可能与谷歌javascript客户端api处于
测试版
这一事实有关。。
如果allUsers access设置为Owner(我知道,这不是最好的主意,这将在未来发生变化),我至少需要上传哪些头到bucket中。
你是对的!这不是一个好主意。如果匿名用户拥有您的存储桶,这意味着他们可以删除其中的任何对象,覆盖现有对象,否则会造成昂贵的恶作剧。尽管如此,您问题的答案:
<form action="https://storage.googleapis.com/YOUR_BUCKET_NAME"
method="post" enctype="multipart/form-data">
<input name="key" type="text" value="objectName.txt" /><br/>
<input name="file" type="file" /><br/>
<input type="submit" value="Upload!" />
</form>
这是上传对象所需的绝对最小值。请注意,它不会将你重定向到任何地方,也不会表示成功。为此,您需要使用success_action_redirect参数,并要求绝对最小值。
我想按照官方文档中提供的示例将一个文件上传到Google云存储 然而,我得到了一个错误: 线程“main”com.google.cloud.storage.StorageException中的异常:获取服务帐户的访问令牌时出错:400个错误请求{“错误”:“无效的授予”、“错误描述”:“无效的JWT:令牌必须是短期令牌(60分钟)并且在合理的时间范围内。请检查JWT声明中的iat和exp值。”位于
我应该做什么才能成功上传图片?任何帮助都将不胜感激。 非常感谢。
我正在尝试上传文件到谷歌存储在多块但签名的URL。 以下是我正在执行的步骤: 使用node.js创建可恢复的上载URL 示例URL: 使用这些标头: HTTPS响应: 使用这些标头: HTTPS响应:包含数据: 根据文档,上述响应应该是,而不是。 我对这些API调用做错了什么?
我正在考虑是否可以在Windows平台上使用gsutil的命令将文件上传到Google云存储。我在本地电脑上有6个文件夹,每天都有新的pdf文档添加到其中。每个文件夹包含大约2500个文件。所有文件目前都在谷歌存储在各自的文件夹中。现在我主要使用谷歌云存储管理器上传所有的新文件。有没有办法创建一个批处理文件,并安排每天晚上自动运行它,这样它就只抓取今天扫描过的文件,并将其上传到谷歌存储?
我们一直在使用服务,在(AWS)中,我们意外删除了一个目录,因此我们认为它应该在中,但是经过查看,尽管处于打开状态,但它并不存在。
我目前面临的问题与谷歌云存储, 我能够下载对象上传到谷歌云存储,但当天晚些时候,我开始得到的错误,因为"这个网站无法到达" 我在c#中以编程方式创建了一个bucket,代码如下: 因此,创建存储桶的设置如下: 默认存储类别:多地区 位置:美国(美国多个地区) 公共访问:每个对象 生命周期:无 访问控制模型:存储桶策略