通过 FBConnect ios 中的图形 api 获取 page_access_token

Posted

技术标签:

【中文标题】通过 FBConnect ios 中的图形 api 获取 page_access_token【英文标题】:Getting page_access_token by graph api in FBConnect ios 【发布时间】:2013-04-12 09:20:04 【问题描述】:

其实我想在 facebook 粉丝专页上传照片,所以我写了下面的代码

[m_facebook setAccessToken:@"BAAGgxy3PqqcBAHqByi2JOtTs .....8SCo8MK22y0smcFnxFEt7U6zVP2U4WpLrpnDWNuwXpvSYB9Btt7ZCMljBGmfxgPKoOdmadmNitSZB47trDv9hXd4wAE3VjZBbWBGMPP1lV8H1rfTcXNRuX8ePqRhxXsAypA7uHkSVyZASp0oaVfY0sJF55O8agZDZD"];

[m_facebook requestWithGraphpath:@"437...6356137/photos"
                               andParams:fbArguments
                           andHttpMethod:@"POST"
                             andDelegate:self];

使用上面的代码,我可以在我的 facebook 粉丝页面上发布照片,但问题是 我必须对 Page_Access_Token 进行硬编码,如您所见,任何人都可以告诉我 我是如何做到的可以使用 FBConnect 动态访问此 Page_Access_Token 令牌。我已经通过this link。

【问题讨论】:

【参考方案1】:

您必须通过此行进行身份验证

NSArray *permissions =  [[NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", @"manage_pages", @"user_photos", @"friends_photos",nil] retain];
[facebook authorize:FB_APP_ID permissions:permissions delegate:self];

一旦你通过了身份验证,你将通过这个委托方法获得AccessToken

  - (void)fbDidExtendToken:(NSString*)accessToken expiresAt:(NSDate*)expiresAt

      //Use access token


 - (void)fbDidLogin 
[self.facebook1 accessToken];//you can access token once you get this call back.

注意:当你调用extendAccessToken扩展令牌时,上面的委托也会在那个时候调用。 fbDidLogin 首次获得身份验证时调用委托方法。 fbDidExtendToken 当您尝试扩展访问令牌时调用委托方法。 accessToken 将根据 expireDate 过期。

【讨论】:

我是不是在这个委托中获得 PAGE_ACCESS_TOKEN 现在看看我编辑的代码。它会帮助你......即使现在你没有收到那个回调,你也必须检查你的委托方法。

以上是关于通过 FBConnect ios 中的图形 api 获取 page_access_token的主要内容,如果未能解决你的问题,请参考以下文章

打开通过 fbconnect 和/或来自 facebook 应用程序或 facebook 网站的 sharekit 使用 sharekit 的 IOS 应用程序

如何通过 iOS 中的图形 API 在 Facebook 页面上作为 Page Post 从应用发布?

在 iOS 上将 FBConnect SDK 升级到 FacebookSDK 3.0 时缺少 FBRequestDelegate

Fbconnect 在 ios 应用程序中像网络浏览器一样共享对话

iOS 中的 FQL 和图形 API

cocos2d iphone中的FBconnect问题?