【问题标题】:Facebook's "Messaging an Open Graph message" functionality keeps on returning to my appFacebook 的“向 Open Graph 消息发送消息”功能不断返回到我的应用程序
【发布时间】:2014-05-09 17:15:47
【问题描述】:

我正在试用 Facebook 的新 Messaging an Open Graph message,这意味着现在可以通过 Facebook Messenger 应用向朋友发送打开的图表故事。

就我而言,我正在构建一个应用程序,人们可以在其中创建一个播放列表,然后可以邀请其他人向该播放列表贡献歌曲。因此,一个有趣的途径是能够通过 Facebook Messenger 向朋友发布开放图消息。

我设置了一个创建动作、一个播放列表对象和一个创建播放列表故事。

我在 iOS 应用程序中使用的代码与 Facebook 作为示例提供的代码非常接近:

创建播放列表对象:

NSMutableDictionary<FBGraphObject> *object =
[FBGraphObject openGraphObjectForPostWithType:@"vibe-social-music:playlist"
                                        title:@"Sample Playlist"
                                        image:@"https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png"
                                          url:@"http://samples.ogp.me/616101581814728"
                                  description:@""];

创建动作:

NSMutableDictionary<FBGraphObject> *action = [FBGraphObject graphObject];
action[@"playlist"] = object;

创建参数:

FBOpenGraphActionParams *params = [[FBOpenGraphActionParams alloc]
                                   initWithAction:action
                                   actionType:@"create"
                                   previewPropertyName:@"playlist"];

在 Messenger 应用中调用“当前消息”对话框:

[FBDialogs
 presentMessageDialogWithOpenGraphActionParams:params
 clientState:nil
 handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
     if (error) {
         //TODO: Handle errors
         NSLog(@"error: %@", error);
     } else {
         NSLog(@"results: %@", results);
     }
 }];

正如我之前解释的,Facebook Messenger 应用程序打开,但很快又返回到我的应用程序。

我在 Info.plist 文件中设置了 Facebook 凭据。

一件事是该操作尚未得到 Facebook 的验证。这可能是个问题吗?

否则,我不知道为什么它不会在 Messenger 应用程序中显示 Open Graph 故事,以及为什么它总是返回到我的应用程序。

任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: ios facebook facebook-graph-api facebook-opengraph


    【解决方案1】:

    您能否确认您在应用设置的“打开图表”部分配置了自定义故事(而不仅仅是操作和对象类型)?

    此外,params 构造中的操作类型似乎缺少您的应用命名空间:即,

    FBOpenGraphActionParams *params = [[FBOpenGraphActionParams alloc]
                                   initWithAction:action
                                   actionType:@"vibe-social-music:create"
                                   previewPropertyName:@"playlist"];
    

    【讨论】:

    • 是的,在 Open Graph 中实现了一个自定义故事。您能否提供一个代码示例,说明 actionType@"namespace:action" 应该出现在哪里? actionType 与 action 有何不同?
    • 在 sn-p 中创建 FBOpenGraphActionParams 实例的操作类型。我将编辑我的答案。
    • 谢谢;你能告诉我这个动作(和开放图故事)是否需要被 Facebook 公开/批准?或者这个故事是否应该有效,即使它只是在测试环境中?只有“测试者”用户才能看到它的完整性吗?
    • 您的应用需要公开,并且开放图表故事需要在公开发布应用之前获得批准。在此之前,只有被指定为应用开发者/测试者的用户才能看到它。
    • 好的,已修复。它也部分与命名空间有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多