Facebook iOS SDK作为页面发布

时间:2013-05-09 23:27:28

标签: ios facebook facebook-access-token

在我的iOS应用中,我想在Facebook页面上发布Facebook页面。

我通过'me / accounts'端点通过用户检索页面访问令牌。但是,我不知道如何使用该页面访问令牌创建FBSession以创建发布请求。

页面访问令牌是一个字符串,我通过询问用户'manage_pages'和'publish_streams'权限来正确获取它。

有一种简单的方法吗?我一直在看fetchFBAccessTokenData,但我不确定如何使用它。

2 个答案:

答案 0 :(得分:4)

答案是 - 这花了很长时间才找到 - initWithSession:FBSession.activeSession应该是initWithSession:nil,并且访问令牌应该在parameters NSDictionary字段中设置为{{{ 1}}。 FBSession.activeSession中的访问令牌会覆盖参数中的access_token(它不应该是IMHO),使帖子显示为“粉丝”帖子,而不是帖子作为页面。

[parameters setObject:yourAccessToken forKey:@"access_token"]

当然现在还有其他问题,例如访问令牌将持续多长时间,这需要令牌缓存状态:https://developers.facebook.com/docs/howtos/token-caching-ios-sdk/

在这里找到答案:https://github.com/facebook/facebook-ios-sdk/pull/483

答案 1 :(得分:1)

感谢詹姆斯奥布莱恩的守则。在此之上, 您可能需要以下代码:

FBRequestConnection *con = [[FBRequestConnection alloc] init];
[con addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error){
    NSLog(@"facebook result >> %@", result);
    [self cancelfbshare:nil];

}];
[con start];