首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不使用Oauth的Google Json Api

不使用Oauth的Google Json Api
EN

Stack Overflow用户
提问于 2015-05-08 17:01:59
回答 2查看 144关注 0票数 0

我想为iOS应用程序使用Google JSON API。但我会在没有用户身份验证的情况下这样做,因为不会存储敏感数据。所以我希望使用这里描述的公共API密钥https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing

下面是请求url:

代码语言:javascript
运行
复制
    NSString* text = self.textField.text;

NSString* data = [NSString stringWithFormat:@"message=%@", text];

NSData* postData = [data dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString* length = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
request.URL = [NSURL URLWithString:@"https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=media&name=myObject&key=myApiKey"];
request.HTTPMethod = @"POST";
[request setValue:length forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];
[request setHTTPBody:postData];

NSURLConnection* conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];

if (conn) {
    NSLog(@"connection successful");
}else {
    NSLog(@"connection failed");
}

使用这个tho,我得到了一个401需要登录的错误。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2015-05-09 12:01:20

您正在尝试将对象匿名上传到存储桶中。默认情况下,这是不允许的,因为这意味着任何知道您的存储桶的人都有可能将他们喜欢的任意数量的对象不受限制地上传到您的存储桶中。

尽管如此,如果您对这种可能性感到满意,那么它当然是可能的。授予所有用户对存储桶的写权限将允许您的问题中的调用成功。

票数 2
EN

Stack Overflow用户

发布于 2015-05-08 17:11:38

来自Google docs

当您的应用程序请求私有数据时,请求必须由有权访问该数据的经过身份验证的用户授权。

当您的应用程序请求公共数据时,请求不需要授权,但需要附带标识符,例如API密钥。

您的应用程序发送到Google Cloud Storage JSON API的每个请求都需要向Google标识您的应用程序。有两种方法可以识别您的应用程序:使用API2.0令牌(它也授权请求)和/或使用应用程序的OAuth密钥。

当您尝试发出公共请求时,您只需要创建一个API key并使用它,而不是像您正在做的那样使用key=API_KEY

更新

您需要使用OAuth2.0令牌,因为在您的示例中,您正在发出一个上传请求。正如@jterrace提到的,API密钥不是一种身份验证形式,因此仅成功完成请求是不够的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30119869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档