2015-02-07 27 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