【发布时间】:2015-08-21 07:58:54
【问题描述】:
我已将 Google Sign-in 集成到我的 iOS 应用中,并在登录后检索了访问令牌。我现在想要对 Google 进行授权 API 调用,但不确定如何执行此操作以包含令牌。
有人可以分享一些我可以用来包含这个的代码吗?
非常感谢,
卢克
【问题讨论】:
标签: ios google-api access-token
我已将 Google Sign-in 集成到我的 iOS 应用中,并在登录后检索了访问令牌。我现在想要对 Google 进行授权 API 调用,但不确定如何执行此操作以包含令牌。
有人可以分享一些我可以用来包含这个的代码吗?
非常感谢,
卢克
【问题讨论】:
标签: ios google-api access-token
在您登录并获取令牌后,您可以创建服务实例,然后附加一个“授权人”。 Google 的 Objective-C 客户端支持不少服务:https://code.google.com/p/google-api-objectivec-client/
这是使用 Google+ 的示例:
Obj-C(启用 ARC)
GTLServicePlus* plusService = [[GTLServicePlus alloc] init];
plusService.retryEnabled = YES;
# set an authorizer with your tokens
[plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
# submit authenticated queries, assuming your scopes & tokens are legit
GTLQueryPlus *query = [GTLQueryPlus queryForPeopleListWithUserId:@"me"
collection:kGTLPlusCollectionVisible];
[plusService executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLPlusPeopleFeed *peopleFeed,
NSError *error) {
// ... your callback ...
}];
斯威夫特
var plusService = GTLServicePlus()
plusService.retryEnabled = true
# set an authorizer with your tokens
plusService.authorizer = GPPSignIn.sharedInstance().authentication
if let plusQuery = GTLQueryPlus.queryForPeopleListWithUserId("me",
collection: kGTLPlusCollectionVisible) as? GTLPlusQuery {
// execute the query
plusService.executeQuery(plusQuery) { (ticket: GTLServiceTicket!,
peopleFeed: GTLPlusPeopleFeed!,
error: NSError!) -> Void in
// ... your callback ...
}
}
There is a sample 专门在 YouTube 上使用 Google Obj-C API 客户端。查看YouTubeSampleWindowController.m 中的229 行以设置您的GTLServiceYouTube 对象,并查看261 行以将其与GTLQueryYouTube 对象一起使用的示例。
还有一些不错的CocoaDocs。 This method 可能就是您所追求的。
【讨论】: