gpt4 book ai didi

ios - 使用 GTM OAuth2 难以通过谷歌存储对 iOS 进行身份验证

转载 作者:可可西里 更新时间:2023-11-01 06:15:04 26 4
gpt4 key购买 nike

我已经为此工作了一天多,所以现在寻求帮助!我正在尝试编写一个 iOS 应用程序,该应用程序使用谷歌服务帐户进行身份验证以访问谷歌存储。

我无法摆脱在 authoriseRequest 和尝试创建存储桶时发生的这个错误。

Error Domain=com.google.GTMOAuth2 Code=-1001 "The operation couldn’t be completed. (com.google.GTMOAuth2 error -1001.)" UserInfo=0x15640740 {request= { URL: https://www.googleapis.com/rpc?prettyPrint=false }}

这是我第一次使用 google objective c 库以及我在网上和 stackOverflow 中找到的几乎所有示例都旨在使用 GTMOAuth2ViewControllerTouch,但我没有向用户进行身份验证

到目前为止,我已经明白了。

在我初始化之前..

static GTLServiceStorage *storageService = nil;
static GTMOAuth2Authentication *auth;

在我的初始化中..

auth = [ GTMOAuth2SignIn standardGoogleAuthenticationForScope:@"kGTLAuthScopeStorageDevstorageFullControl" clientID:@"my_client_id.apps.googleusercontent.com" clientSecret:@"my_client_secret"];
auth.redirectURI = @"urn:ietf:wg:oauth:2.0:oob";
// inititialising the auth token
[auth authorizeRequest:nil delegate:self didFinishSelector:@selector(authentication:request:finishedWithError:)];

// init googleStorage Backend service.
if (!storageService) {
storageService = [[GTLServiceStorage alloc] init];
storageService.additionalHTTPHeaders = @{@"x-goog-project-id": @"my_project_id", @"Content-Type": @"application/json-rpc", @"Accept":
@"application/json-rpc"};
storageService.authorizer = auth;
storageService.retryEnabled = YES;
}

例如,在创建存储桶的方法中......

// Create a GTLStorageBucket.
GTLStorageBucket* bucket = [[GTLStorageBucket alloc] init];
bucket.name = @"myBucketName";
// Create the query
GTLQueryStorage *query = [GTLQueryStorage queryForBucketsInsertWithObject:bucket project:@"myGoogleProjectID"];
[storageService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLStorageBucket *object, NSError *error) {
NSLog(@"bucket %@", object);
}];

我的问题是,我是否正确使用 gtmoauth2 库进行服务帐户身份验证,如果是这样,我是否在参数或初始化中遗漏了一些明显的东西。

谢谢

最佳答案

问题可能是 kGTLAuthScopeStorageDevstorageFullControl 是一个 const,通过将它放在 @""中,您正在创建一个 NSString,它的字面意思是“kGTLAuthScopeStorageDevstorageFullControl”,它不等同于 const 值方法可能是预期的。

关于ios - 使用 GTM OAuth2 难以通过谷歌存储对 iOS 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035611/

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