【问题标题】:Get data from Google Analytics, using the Core Reporting API skd, via Objective-C在 Objective-C 中使用 Core Reporting API sdk 从 Google Analytics 获取数据
【发布时间】:2013-11-16 15:39:18
【问题描述】:
【问题讨论】:
标签:
ios
objective-c
cocoa
google-analytics-api
【解决方案1】:
analytics-issues下报告了一个bug
使用 Xcode 5 构建时出现链接器错误
截至 2013 年 9 月 20 日,它具有已修复状态。项目经理还提供了指向 IOS SDK 的链接,该链接应该适用于 > 3.01 版。
但是在这个固定状态之后 - 今天有三个用户有问题。
【解决方案2】:
经过大量尝试,我放了一个如何获取数据的小样本,如果这可以帮助某人:
NSString *const kKeychainItemName = @"eKit: gan";
NSString *const kMyClientID = @"149329999999-heob9dk0o7d9999nkufaehrk99iaf9na.apps.googleusercontent.com"; // pre-assigned by service
NSString *const kClientSecret = @"pAzA-4AAAAAcAAAmAAAAAjbA"; // pre-assigned by service
@interface sFirstViewController ()
@end
@implementation sFirstViewController {
APPaginalTableView *_paginalTableView;
GTLObject *myGTL;
}
- (void)viewDidLoad{
[super viewDidLoad];
}
- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController finishedWithAuth:(GTMOAuth2Authentication *)auth
error:(NSError *)error {
if (error != nil) {
// Authentication failed
} else {
// Authentication succeeded
self.auth=auth;
[self analytics_Query];
[viewController dismissViewControllerAnimated:TRUE completion:nil];
}
}
- (void)analytics_Query{
GTLServiceAnalytics *service = [[GTLServiceAnalytics alloc] init];
service.authorizer=self.auth;
GTLQueryAnalytics *query = [GTLQueryAnalytics queryForDataGaGetWithIds:@"ga:79891549" startDate:@"2006-01-01" endDate:@"today" metrics:@"ga:totalEvents"];
//GTLQueryAnalytics *query = [GTLQueryAnalytics queryForManagementAccountsList];
GTLServiceTicket *ticket = [service executeQuery:query
completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (error == nil) {
myGTL=object;
}
}];
}