Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在facebook上自动发布(用户代表)_Javascript_Php_Facebook_Facebook Javascript Sdk_Share - Fatal编程技术网

Javascript 在facebook上自动发布(用户代表)

Javascript 在facebook上自动发布(用户代表),javascript,php,facebook,facebook-javascript-sdk,share,Javascript,Php,Facebook,Facebook Javascript Sdk,Share,我一直在搜索,没有找到答案。 我有一个网站,有一个实时跟踪服务。 我已经使用了javascript facebook共享提要,这样用户就可以在他们的facebook页面上发布他们和其他人的活动 我想知道现在(我知道这在过去是可能的)是否可以代表用户发布。我已经有一个过程来获得一个长寿令牌 目标是在用户开始/结束活动时提供自动发布功能,通知其追随者。从2018年8月起更新: publish\u操作无法再使用。现在不可能再自动在用户的个人资料上发布内容了。Facebook建议改为使用共享对话框,该对

我一直在搜索,没有找到答案。 我有一个网站,有一个实时跟踪服务。 我已经使用了javascript facebook共享提要,这样用户就可以在他们的facebook页面上发布他们和其他人的活动

我想知道现在(我知道这在过去是可能的)是否可以代表用户发布。我已经有一个过程来获得一个长寿令牌


目标是在用户开始/结束活动时提供自动发布功能,通知其追随者。

从2018年8月起更新:

publish\u操作
无法再使用。现在不可能再自动在用户的个人资料上发布内容了。Facebook建议改为使用
共享对话框
,该对话框要求用户对每篇帖子进行确认。Facebook将向用户显示一个窗口,供其批准帖子。
使用
共享对话框的示例代码

FB.ui({
  method: 'share',
  href: 'https://developers.facebook.com/docs/',
}, function(response){});
包含所有参数的完整文档可在此处找到:


第三方只能代表用户发布内容,前提是该用户已授予发布内容的权限

第一步是注册应用程序,以防您尚未注册:

Facebook将向用户显示提示,并要求用户授予该应用程序的权限。在Facebook应用程序中,您需要请求
发布操作
权限。 这将为您提供一个访问令牌,以该用户的名义在墙上发布帖子

为此,您可以使用Graph API:

POST graph.facebook.com
     /{user-id}/feed?
     message={message}&
     access_token={access-token}
如果您使用的是JavaScript SDK,代码可能类似于以下内容:

FB.init({ 
    appId: 'insert your appID value here', 
    cookie: true, 
    xfbml: true, 
    status: true });    

FB.api(
    "/{user-id}/feed",
    "POST",
    {
        "message": "This is a test message"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
您将在此处找到有关参数和响应的详细信息:

请务必阅读“是”,我知道“限制”。这就是我问这个问题的主要原因。尽管我知道一些主要的网站/网络应用/应用可以做到这一点,但仅仅因为其他人做到了这一点并不意味着你的观点是正确的。但我试图遵循的例子来自重要和知名公司和品牌的官方网站……publish_actions不受欢迎,谢谢您的帮助说明@SandeepBalagopal。我已经更新了答案并插入了您的信息。