· 7 years ago · Aug 04, 2018, 05:26 AM
1iOS: foursquare request fails
2#import "FSQViewController.h"
3
4#define kClientID @"XXXXXXXXXXXXXXXXXXXXXXX"
5#define kCallbackURL @"invitation://foursquare"
6
7@interface FSQViewController()
8@property(nonatomic,readwrite,strong) BZFoursquare *foursquare;
9@property(nonatomic,strong) BZFoursquareRequest *request;
10@property(nonatomic,copy) NSDictionary *meta;
11@property(nonatomic,copy) NSArray *notifications;
12@property(nonatomic,copy) NSDictionary *response;
13@end
14
15
16@implementation FSQViewController
17
18@synthesize foursquare = foursquare_;
19@synthesize request = request_;
20@synthesize meta = meta_;
21@synthesize notifications = notifications_;
22@synthesize response = response_;
23
24- (void)didReceiveMemoryWarning
25{
26 [super didReceiveMemoryWarning];
27}
28
29#pragma mark - View lifecycle
30
31- (id) initWithCoder:(NSCoder *)aDecoder{
32 self = [super initWithCoder:aDecoder];
33 if(self){
34 self.foursquare = [[BZFoursquare alloc]initWithClientID:kClientID callbackURL:kCallbackURL];
35 foursquare_.version = @"20120206";
36 foursquare_.locale = [[NSLocale currentLocale]objectForKey:NSLocaleLanguageCode];
37 foursquare_.sessionDelegate = (id<BZFoursquareSessionDelegate>) self;
38 }
39 return self;
40}
41
42- (void)viewDidLoad
43{
44 [super viewDidLoad];
45}
46
47- (void)viewDidUnload
48{
49 [super viewDidUnload];
50}
51
52- (void)viewWillAppear:(BOOL)animated
53{
54 [super viewWillAppear:animated];
55}
56
57- (void)viewDidAppear:(BOOL)animated
58{
59 [super viewDidAppear:animated];
60}
61
62- (void)viewWillDisappear:(BOOL)animated
63{
64 [super viewWillDisappear:animated];
65}
66
67- (void)viewDidDisappear:(BOOL)animated
68{
69 [super viewDidDisappear:animated];
70}
71
72- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
73{
74 return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
75}
76
77
78
79#pragma mark -
80#pragma mark BZFoursquareRequestDelegate
81
82- (void)requestDidFinishLoading:(BZFoursquareRequest *)request {
83 NSLog(@"test");
84 self.meta = request.meta;
85 self.notifications = request.notifications;
86 self.response = request.response;
87 self.request = nil;
88 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
89}
90
91- (void)request:(BZFoursquareRequest *)request didFailWithError:(NSError *)error {
92 NSLog(@"HERE > %s: %@", __PRETTY_FUNCTION__, error);
93 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:[[error userInfo] objectForKey:@"errorDetail"] delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", @"") otherButtonTitles:nil];
94 [alertView show];
95 self.meta = request.meta;
96 self.notifications = request.notifications;
97 self.response = request.response;
98 self.request = nil;
99 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
100}
101
102#pragma mark -
103#pragma mark BZFoursquareSessionDelegate
104
105- (void)foursquareDidAuthorize:(BZFoursquare *)foursquare {
106 NSLog(@"authorized!");
107}
108
109- (void)foursquareDidNotAuthorize:(BZFoursquare *)foursquare error:(NSDictionary *)errorInfo {
110 NSLog(@"not authorized! %s: %@", __PRETTY_FUNCTION__, errorInfo);
111}
112
113- (IBAction)click:(id)sender {
114
115 if (![foursquare_ isSessionValid]){
116 NSLog(@"here");
117 [foursquare_ startAuthorization];
118 } else {
119 [foursquare_ invalidateSession];
120 }
121}
122
123- (IBAction)checkin:(id)sender {
124 NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"4d341a00306160fcf0fc6a88", @"venueId", @"public", @"broadcast", kClientID, @"oauth_token", nil];
125 self.request = [foursquare_ requestWithPath:@"checkins/add" HTTPMethod:@"POST" parameters:parameters delegate:self];
126 [request_ start];
127 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
128}
129
130@end