Facebook Graph API для поиска iOS - PullRequest
4 голосов
/ 27 января 2012

Я безуспешно пытаюсь найти места из GraphAPI, используя следующий код. Кто-нибудь, пожалуйста, просветите мой путь?

Если я пытаюсь опубликовать ссылку / сообщение / фотографию, она работает как положено, но при попытке найти местоположение всегда терпит неудачу и выдает мне **The operation couldn’t be completed. (facebookErrDomain error 10000.)**

//Following statement is using permissions
NSArray * permissions = [NSArray arrayWithObjects:@"publish_stream",@"user_checkins", @"friends_checkins", @"publish_checkins", nil];

[facebook authorize:FB_APP_ID permissions:permissions delegate:_delegate];  
NSString *centerString = [NSString stringWithFormat: @"%f,%f", 37.76,-122.427];


        NSString *graphPath = @"search";
        NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                       @"coffee",@"q",
                                       @"place",@"type",
                                       centerString,@"center",
                                       @"1000",@"distance", // In Meters (1000m = 0.62mi)
                                       nil];

[facebook requestWithGraphPath:_path andParams:_params andHttpMethod:@"POST" andDelegate:_delegate];

Ответы [ 3 ]

3 голосов
/ 27 января 2012

Неважно. Скачал последний образец HackBook с Facebook для Graph API от GitHub, и он включает образец кода для того же.

1 голос
/ 01 февраля 2015

Для «поиска» вы должны использовать «GET» вместо «POST».

https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#search

В Facebook iOS SDK вы можете использовать FBRequestConnection после входа в систему.

    [FBRequestConnection startWithGraphPath:@"search?q=coffee&type=place&center=37.76,-122.427&distance=1000"
                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                              if (!error) {
                                  // Sucess! Include your code to handle the results here
                                  NSLog(@"result: %@", result);

                              } else {
                                  // An error occurred, we need to handle the error
                                  // See: https://developers.facebook.com/docs/ios/errors
                                  NSLog(@"error: %@", error);
                              }
                          }];
0 голосов
/ 17 декабря 2015

с последним SDK

NSMutableDictionary *params2 = [NSMutableDictionary dictionaryWithCapacity:3L];

    [params2 setObject:@"37.416382,-122.152659" forKey:@"center"];
    [params2 setObject:@"place" forKey:@"type"];
    [params2 setObject:@"1000" forKey:@"distance"];

    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/search" parameters:params2 HTTPMethod:@"GET"] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
        NSLog(@"RESPONSE!!! /search");
        NSLog(@"result %@",result);
        NSLog(@"error %@",error);
    }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...