Javascript Facebook对象API——创建为文章,认为它';s网站

Javascript Facebook对象API——创建为文章,认为它';s网站,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我正在使用Facebook的Object API创建自己的自定义开放图形对象。对象本身创建得很好,代码如下: FB.api( "https://graph.facebook.com/app/objects/article?access_token=token|secret", "POST", { "object": { "og:url": url, "og:title": title,

我正在使用Facebook的Object API创建自己的自定义开放图形对象。对象本身创建得很好,代码如下:

FB.api(
    "https://graph.facebook.com/app/objects/article?access_token=token|secret",
    "POST",
    {
        "object": {
            "og:url": url,
            "og:title": title,
            "og:image": image
        }               
    },
    function(response) {
        // handle response
    }
);
然后,我会提示打开一个共享对话框,如下所示:

FB.ui({
    method: 'share_open_graph',
    action_type: 'news.reads',
    action_properties: JSON.stringify({
        article: 'https://graph.facebook.com/app/website/my_object_id'
    })  
}, function(response) {
    // handle response
});
对话框将打开,但出现以下错误:

“URL处的对象具有og:类型的“网站”。 属性'article'需要og:类型为'article'的对象。“

但我不是在创作的时候指定了我在创作一篇文章吗?你知道我哪里出错了吗


我只是尝试动态创建opengraph对象,而不是在html页面上使用元标记——我在页面上有一个项目列表,我想让用户作为opengraph对象共享。

要使用共享对话框发布通过API创建的对象,需要在创建对象时传递从API返回的对象id,不是URL


(当您想发布托管在外部域上其他位置的开放图形对象时,URL将是一个合适的参数。)

当您从API读取对象的详细信息时,会得到什么?为什么要使用URL而不是对象id来共享?你从哪里得到的URL
https://graph.facebook.com/app/website/…
是从哪里来的?
website
在该URL中做了什么?@CBroe:看来我弄错了——我为article属性输入了对象Id而不是URL,共享对话框显示了该文章。我想我误解了医生的意思。如果你想用id作为答案发帖,我会把它标记为答案。