Facebook iOS SDK:在我的墙上张贴提及朋友

Ira*_*lii 7 facebook facebook-graph-api ios

我想发布图片,消息并提及一些朋友.我正在使用Graph API发布照片

[FBRequestConnection startWithGraphPath:@"me/photos" parameters:dictionary HTTPMethod:@"POST" completionHandler:
Run Code Online (Sandbox Code Playgroud)

和朋友列表使用

[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
                                              parameters:nil
                                              HTTPMethod:@"GET"
                                       completionHandler:
Run Code Online (Sandbox Code Playgroud)

每个朋友都有这样的id"AaJIwZcI7HgWAY1FXkqc5AMjIzE3k8TEuv9YligJRa_2M1EmZ3iGvFZxRpF6s1eW3pCNKep2RUxy5KWH3WgOSUH3QSRLH_RRaTlfgcFjRX9DpQ",但是如何在消息中实现这个id?
我使用了不同的方式,但没有:https:
//developers.facebook.com/docs/opengraph/using-actions/v2.1#people

[dictionary setObject:array forKey:@"tags"];
[dictionary setObject:[NSString stringWithFormat:@"@[%@:1:%@]",userID,userName]forKey:@"message"];
Run Code Online (Sandbox Code Playgroud)

有什么想法或者有所帮助吗?

Fyo*_*yok 1

提及朋友可能看起来很简单,但实际上这确实是一件非常复杂的事情,值得大篇幅教程,涉及很多需要完成的步骤和需要执行的 api 请求。为此,您应该创建对象并 对其执行一些操作。至于术语:对象由类型、图像、标题、url、自定义字段等通用数据组成。 动作对象组成,还可以提及好友。因此:

  1. 您应该在应用程序页面的“打开图表”部分中创建自定义故事,或者使用此处的现有故事。从现在起假设我们创建自定义故事。
  2. 您应该执行请求来创建对象。您可以通过单击故事右侧的“获取代码”按钮,从应用程序页面的“打开图表”部分获取示例请求。这些 http 请求(尤其不是 ios),但显示了必须填写才能成功执行请求的所有必要文件。
  3. 比上传一些图像并保留它们的网址(如何将照片上传到 Facebook注意:它不会获取您的网址,您需要使用简单的 get 请求来检索它。我知道这很愚蠢,但不幸的是,这是获得的唯一方法网址来自刚刚发布的照片​​)。
  4. 获取可标记的朋友并保留他们的伪 ID。

  5. 执行操作请求。这是所有魔法发生的地方。使用必要的字段执行请求:“image”“tags”,可能还有“fb:explicitly_shared”(显然设置为 true)。请注意,“image”是数组,“tags”是逗号分隔值,“fb:explicitly_shared”是布尔值。从 ios 的角度来看,请求可能如下所示:

   [FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"me/%@", kFBActionNameFull]
                                      parameters:@{kFBObjectNameShort:objectId,
                                                   @"fb:explicitly_shared":@"true",
                                                   @"tags":@"friend1_tag,friend2_tag",
                                                   @"image":@[@{@"image":@"some_url",
                                                                @"user_generated":@"true"}]}
                                      HTTPMethod:@"POST"
                               completionHandler: ...]
Run Code Online (Sandbox Code Playgroud)

完成所有这些步骤后,您可以在页面上看到故事。

正如你所看到的,提及朋友是一项非常困难的任务,需要大量的时间来实现。我可以在上面的解释中添加一些代码,但是如果没有深入理解故事机制,你就无法成功发布图像并标记朋友

是的,你必须

  1. 发送带有故事的应用程序以及所有请求的提交权限

以便将您的应用程序投入生产。