【问题标题】:Facebook publish_actions to timeline for iOSFacebook publish_actions 到 iOS 的时间线
【发布时间】:2012-03-20 07:14:34
【问题描述】:

在 stackoverflow.com 上搜索 Facebook 开发人员文档/错误和问题后,尚不清楚 Facebook 现在是否支持通过其 iOS SDK 将 publish_actions 发布到时间线。此站点上存在一些与移动设备上的 publish_actions 权限相关的问题,但它们没有提供任何解决方案。

  1. Facebook 是否为所有第三方应用推出了针对移动设备的 publish_actions,还是仍仅限于开发人员?
  2. Facebook 是否允许通过 iOS SDK 的 publish_actions 权限将动作发布到时间线?
  3. 是否有任何示例、示例代码或教程来说明如何在 iOS 上实现它?

如果有任何指点,我将不胜感激。

【问题讨论】:

  • 那么,您想将您的帖子添加到您的时间线中吗?

标签: facebook facebook-opengraph facebook-ios-sdk facebook-timeline


【解决方案1】:

是的。在 iOS 中发布操作就像在桌面 Web、移动 Web 和 Android 中一样。

请求 publish_actions 权限的方法与请求任何其他权限的方法相同。

发布操作的方法与您在任何平台上进行的 Graph API 调用相同:

POST https://graph.facebook.com/me/APP_NAMESPACE:ACTION_NAME?OBJECT_NAME=OBJECT_URL&access_token=TOKEN

例如

POST https://graph.facebook.com/me/myapp:cook?recipe=http://exmaple.com/recipe&access_token=TOKEN

在 Objective C 中你可能有类似的东西

AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[[delegate facebook] requestWithGraphPath:@"me/myapp:cook" andParams:@"http://exmaple.com/recipe" forKey:@"recipe"] andHttpMethod:@"POST" andDelegate:self];

【讨论】:

  • 谢谢。我会尽力让你知道。
【解决方案2】:

我无法完成这项工作。我已经让 Facebook 发布了我的操作,所以样本是从 CURL 发送的,但是从 IOS 我总是收到域错误 1000。

这是我的代码:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"http://itunes.apple.com/us/app/ginos-challenge/id509946175",@"og.url",
                               @"Played on Gino's challenge",@"og:title",
                               @"http://media.appspy.com/thumbs/images/icons/i509946175_jpg_180x180_q85.jpg",@"og:image",
                               @"This is my first post",@"og:description", 
                               @"1000", @"game_point",
                               nil];

// Publish.
// This is the most important method that you call. It does the actual job, the message posting.
[facebook requestWithGraphPath:@"me/[action domain]:[action name]" andParams:params andHttpMethod:@"POST" andDelegate:self];

【讨论】:

    【解决方案3】:

    不,publish_action 不支持在时间线中发布。您应该添加一个新标签,例如fb:explicitly_shared。将此设置为BOOL 值。如果你设置true,它会显示在用户的时间轴中,否则它不会。

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 2015-05-03
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 2013-09-18
      相关资源
      最近更新 更多