Facebook 明确共享的操作不适用于 Cordova 应用程序

Posted

技术标签:

【中文标题】Facebook 明确共享的操作不适用于 Cordova 应用程序【英文标题】:Facebook's explicitly_shared actions don't work on Cordova app 【发布时间】:2015-02-21 12:46:05 【问题描述】:

我正在开发一个 Cordova 移动应用程序,它使用 WizCorp 的插件来集成 Facebook 以进行登录和共享。 Login 和 API Graph 调用一切正常,但我找不到让用户使用设置为 TRUE 的 eplicitly_shared 字段共享操作的方法。

这是我的代码:

            var object = 
                "fb:explicitly_shared": true,
                "og:url": "http:\/\/samples.ogp.me\/847652538614328",
                "og:title": "Inferno di dante",
                "og:type": "XXXX:challenge",
                "og:image": "http://ecoleft.gr/wp-content/uploads/2013/09/3123143-flame-inferno-13272.jpg",
                "og:description": "Nel mezzo del cammin di nostra vita mi ritrovai per una selva",
                "fb:app_id": xxxxxxxxxx2010,
                "XXXX:from": "1000",
                "XXXX:challenge_id": "10000"
            

            var graphpath = 'me/objects/XXXX:challenge?method=post&fb:explicitly_shared=true&object=' + JSON.stringify(object);
            var permissions = ["publish_actions"];

            var publishSuccess = function(data)
                alert(JSON.stringify(data));
            

            var publishError = function(err)
                alert("Errore: " + err);
            


            facebookConnectPlugin.api(graphPath, permissions, publishSuccess, publishError);

它工作得很好,但问题是它没有向用户询问任何内容,也没有在时间轴中发布,而只是在活动注册中,如下所示:

【问题讨论】:

【参考方案1】:

看起来您只是在创建一个用户拥有的对象(名词),而不是将它与一个动作(动词)相关联。

explicitly_shared 仅适用于操作,因此您需要创建其中之一。见https://developers.facebook.com/docs/opengraph/using-actions/v2.2

【讨论】:

以上是关于Facebook 明确共享的操作不适用于 Cordova 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

共享对话框不适用于 Facebook 应用 [android]

共享回调不适用于 Facebook SDK 4 Android

Facebook publish_action 权限不适用于发帖

Facebook publish_action权限不适用于发布

Facebook 登录不适用于 Facebook 应用程序

用于 Facebook 聊天的 Asmack 不适用于 PrivacyListManager