【问题标题】:Post as a fan page on iOS Facebook SDK 3.0在 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。

标签: ios facebook facebook-ios-sdk iphone-sdk-3.2


【解决方案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;)。告诉我它是否适合你..
猜你喜欢
  • 1970-01-01
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多