从网页允许用户将图像发布到时间轴(图像托管在Facebook上)

时间:2018-06-22 23:48:43

标签: javascript facebook facebook-graph-api

所以我想允许用户单击一个按钮,然后将图像发布到Facebook(关键是我希望它像将自己上传的图像一样发布到Facebook上-这样,图像就是托管在Facebook上 !!!)

如果我仅使用下面的链接,则会在下面的红色中概述结果(图像仍托管在Amazon Web Services 上–而不托管在Facebook上)

<a href="https://www.facebook.com/sharer/sharer.php?u=https://s3.amazonaws.com/naf-socialforyou/images/pie_graph.PNG" target="_blank" class="btn btn-share">POST TO FACEBOOK</a>

如果我去Facebook并发布图片,它看起来像下面的内容(以黄色勾勒)-托管在Facebook上!

Facebook最近不赞成使用'publish_actions'权限:https://developers.facebook.com/blog/post/2018/04/24/new-facebook-platform-product-changes-policy-updates/(2018年4月4日-不再支持新应用程序的'publish_actions',并将于2018年8月1日停止对现有应用程序的旧版支持)

我能够在https://developers.facebook.com/apps上创建Facebook应用,并且能够登录用户,但该用户需要权限。

当我运行代码以发布图像时(在用户登录后):

filename = "https://s3.amazonaws.com/naf-socialforyou/images/pie_graph.PNG";
    encodedname = encodeURI(filename);
FB.api('/photos', 'post', {
        message: 'photo description goes here',
        url: encodedname
    }, function (response) {

        if (!response || response.error) {
            console.error(response);
        } else {
            console.log('Post ID: ' + response.id);
        }

    });

然后我得到错误: enter image description here

1 个答案:

答案 0 :(得分:1)

随着您注意到API的弃用,Facebook试图摆脱可以发布在用户墙上的应用程序。

他们仍然提供的唯一写权限是将应用程序页面: https://developers.facebook.com/docs/facebook-login/permissions/#reference-publish_pages-对于页面管理应用程序或发布计划程序很有用。

显然,发帖停留在您上面使用的共享摘录中。