在 iOS Facebook SDK 3.0 上作为粉丝页面发布
Posted
技术标签:
【中文标题】在 iOS Facebook SDK 3.0 上作为粉丝页面发布【英文标题】:Post as a fan page on iOS Facebook SDK 3.0 【发布时间】:2012-09-12 16:22:44 【问题描述】:我正在尝试以粉丝页面而不是用户的身份发布到粉丝页面。
在旧版 SDK 上,我只要求输入“我/帐户”并收到访问令牌。现在我可以做同样的事情,但我无法使用该令牌,因为 FBRequest 从活动会话中获取其访问令牌(而且,它是一个只读属性)。
有谁知道如何创建另一个会话或简单地使用页面令牌创建 FBRequests?
谢谢!
【问题讨论】:
根据developers.facebook.com/docs/reference/api/page/…,在请求访问令牌时,可以指定需要manage_pages和publish_stream权限才能作为页面发布。 谢谢,我有 access_token,如果我自己构建 NSURLRequest 就可以使用它。但我正在尝试了解如何正确使用 FBRequest 和 FBSession。 【参考方案1】:找到了一个解决方案,它不是最干净的,但它可以工作:注意:已针对 Facebook SDK 3.2+ 更新
- (void)postAsFanPageWithToken:(NSString *)aFanPageToken
if (self.selectedFanPage == nil)
self.userAccessToken = [FBSession activeSession].accessTokenData.accessToken;
//Using KVC, since it is a readonly property
[[FBSession activeSession].accessTokenData setValue:aFanPageToken forKey:@"accessToken"];
- (void)postAsMe
if (self.userAccessToken == nil)
return; //Already posting as me
[[FBSession activeSession].accessTokenData setValue:self.userAccessToken forKey:@"accessToken"];
self.userAccessToken = nil;
// Make sure you cleanup on logout
- (void)logout
self.userAccessToken = nil;
[[FBSession activeSession] closeAndClearTokenInformation];
【讨论】:
对我来说它也可以工作,但是您是否找到了另一个更好的解决方案? 不,这是一个有点脏的解决方案,但他们的新 SDK 文档中没有提到这种情况。 @NatanR。如果您使用 SDK 3.2 或更高版本,请参阅最后一条说明 @NatanR。我已经更新了代码(上次更新我忘记了 self.userAccessToken = [FBSession activeSession].accessTokenData.accessToken;)。告诉我它是否适合你..以上是关于在 iOS Facebook SDK 3.0 上作为粉丝页面发布的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Facebook iOS SDK 3.0 中重现教程示例“Scrumptious”
在 iOS Facebook SDK 3.0 上作为粉丝页面发布
FBSession 的 Facebook iOS SDK 3.0 登录教程问题
iOS Facebook SDK 3.0 登录未重定向到原始应用程序