Facebook分享对话框在发布自定义Open Graph故事时无法识别自定义引用对象

Facebook Share Dialog failing to recognize custom reference objects when posting custom Open Graph story

本文关键字:自定义 识别 对象 引用 故事 Open 对话框 分享 Facebook Graph      更新时间:2023-09-26

所以我有一个Facebook网页应用程序,我试图使用Facebook Javascript SDK和Facebook。在用户墙上发布一个自定义的Open Graph故事。

我有一个自定义动作"骑"和自定义对象"距离"。我正试图发布一个自定义故事"骑一段距离"。

我下面的函数是在点击按钮时触发的:

function postDistanceRidden() {
  FB.ui({
    method: 'share_open_graph',
    action_type: 'APP_NAME:ride',
    action_properties: JSON.stringify({
        distance:{
          "og:type" : "APP_NAME:distance",
          "app_id" : "APP_ID",
          "og:url" : 'PUBLIC_URL',
          "og:title" : "My Title",
          "og:image" : "PUBLIC_IMAGE_URL",
          "APP_NAME:distance_value" : "10",
          "APP_NAME:distance_unit" : "miles",
        },
    })
  }, function(response){});
}

当我点击按钮并运行上面的函数时,我得到一个带有以下错误的Facebook弹出窗口:"Action Requires At Least One Reference:你试图发布的动作无效,因为它没有指定任何引用对象。必须指定以下属性中的至少一个:"

我不确定我做错了什么。此外,我已经尝试了上面的代码替换我的自定义动作/对象与Facebook定义的,它的工作(例如,"喜欢"answers"文章")。任何帮助都将非常感激。如果需要我提供更多的信息,请告诉我。

谢谢!

您需要创建一个"自托管对象"并传递您的对象的url。

function postMyAction() {
    FB.ui({
         method: 'share_open_graph',
         action_type: 'APP_NAME:action',
         action_properties: JSON.stringify({
             object: "my_url_object"
         },
    })
    }, function(response){});
}

和对象html:

<head>
    <meta property='fb:app_id' content='app_id'/>
    <meta property='og:type' content='my_app:object'/>
    <meta property='og:title' content='my_object_title'/>
    <meta property='og:image' content='an_image'/>
    <meta property='og:url' content='self_url'/>
</head>