2015-02-07 5 views
0

Me and Graph: комбинация, выполненная в аду. Рассмотрим следующий пример:FB График подписки iOS

Для того, чтобы установить подписку FB у меня есть этот метод:

-(void)subscribeToFacebook{ 
    (FBSession.activeSession.isOpen) ? NSLog(@"is open") : NSLog(@"is closed"); 

    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
          @"page", @"object", 
          @"http://www.example.com/fbcallback.php", @"callback_url", 
          @"about, picture", @"fields", 
          @"ItsMeAlright", @"verify_token", 
          nil 
          ]; 
    /* make the API call */ 
    [FBRequestConnection startWithGraphPath:@"/{app-id}/subscriptions" 
           parameters:params 
           HTTPMethod:@"POST" 
          completionHandler:^(
               FBRequestConnection *connection, 
               id result, 
               NSError *error 
              ) { 
           /* handle the result */ 
           NSLog(@"error= %@",error); 
          }]; 
    } 

, что я практически дословно скопирована из руководства FB.

На http://www.example.com/fbcallback.php у меня есть этот код:

<?php 
$hub_mode = $_GET['hub_mode']; 
$hub_challenge = $_GET['hub_challenge']; 
$hub_verify_token = $_GET['hub_verify_token']; 
if ($hub_verify_token =='ItsMeAlright') 
{ 
    echo $hub_challenge; 
} 
//and here i am planning to add some logic. 
?> 

К сожалению, когда IOS работает мой метод, он регистрирует следующую ошибку:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x7e921970 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x7d7a21a0 {NSUnderlyingError=0x7d4388c0 "unsupported URL", NSLocalizedDescription=unsupported URL}, com.facebook.sdk:HTTPStatusCode=200, com.facebook.sdk:ErrorSessionKey=, expirationDate: 2015-04-07 09:12:48 +0000, refreshDate: 2015-02-07 08:57:41 +0000, attemptedRefreshDate: 0000-12-30 00:00:00 +0000, permissions:( "public_profile", email, "user_friends")>}

Что это все? Ошибка на самом деле предполагает, что это скорее iOS. Я смущен. Надеюсь, что нет.

+0

Или мне нужно заменить «{app-id}» на мой идентификатор приложения? – Sjakelien

+0

Является ли этот вопрос слишком простым глупо? Или вы, парни и девушки, действительно празднуете выходные? – Sjakelien

+1

Да, вам нужно заменить его на свое приложение id – Wain

ответ

1

Все официальные документы в Facebook используют {user-id}, {app-id} в качестве заполнителей.

Если вы не хотите указывать идентификатор приложения и определить его API, используйте app. Так,

[FBRequestConnection startWithGraphPath:@"/app/subscriptions"

При тестировании в будущем, то лучше начать с монотерапией просто API в установке голые кости, например https://developers.facebook.com/tools/explorer/, поэтому вы можете гарантировать, что вызовы API работают до выполнения конкретных реализаций платформы.

+0

Спасибо, это было полезно знать. Я действительно борется с графикой. также сократил меня на том, как передать токен доступа к Facebook в этом подписном вызове, я был бы ЧРЕЗВЫЧАЙНО благодарен (я знаю, как получить токен, не знаю, как вернуть его в FB, чтобы заставить подписку работать) – Sjakelien

Смежные вопросы