2015-02-07 46 views
0

Facebook Graph SDK(以及它的iOS實現)確實讓我的生活變得悲慘。看起來我是獨自一人,因爲我似乎無法在網絡上找到任何與我一樣的問題/缺乏理解的人。FB圖形訂閱IOS發送access_token

事不宜遲:

我在我的iOS應用程序的代碼,這應該是我的應用程序訂閱用戶更新:

-(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/subscriptions" 
           parameters:params 
           HTTPMethod:@"POST" 
          completionHandler:^(
               FBRequestConnection *connection, 
               id result, 
               NSError *error 
              ) { 
           /* handle the result */ 
           NSLog(@"error= %@",error); 
          }]; 
    } 

當我運行此代碼,錯誤會記錄,聲明:

「(#15)必須使用應用程序access_token調用此方法。」現在

,我(想)我知道如何獲得的access_token

NSString *fbAccessToken = [[[FBSession activeSession] accessTokenData] accessToken]; 

但我have't上了車何時何地將其發送到Facebook的線索。

我試圖把它附加到@「/應用程序/訂閱」部分這樣

NSString *urlString = [NSString 
          stringWithFormat:@"/app/subscriptions?access_token=%@", 
          [fbAccessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

,但沒有奏效。

您的意見非常歡迎!

回答

0

執行此操作的方法是使用應用程序令牌創建FBSession。因爲當前會話不是你想要的。

但是,安全明智的,你不應該在所有這樣做。將應用程序令牌嵌入生產應用程序是非常不安全的。我相信爲你生成的iOS示例是不正確的。

你應該發送,需要與服務器調用(如PHP)

+0

嗯,我想我只是不明白這是怎麼一回事應用令牌的任何請求。應該只是一次性操作?這是有道理的。在這種情況下,我應該運行這樣的事情嗎?http://marcneuwirth.com/blog/2011/12/08/facebook-real-time-updates/,我會做生意嗎? – Sjakelien 2015-02-07 13:15:31

+0

@Sjakelien是的,當你做'POST'請求來訂閱它將是一個準時的操作,除非你需要添加更多的字段來訂閱。是的,博客看起來應該乍一看。 – phwd 2015-02-07 13:25:00