【问题标题】:Facebook share on a Facebook Page timeline, on behalf of the user代表用户在 Facebook 主页时间线上分享 Facebook
【发布时间】:2015-09-21 21:17:07
【问题描述】:

在移动应用上,我希望有一个分享按钮,代表用户发布图片,但不能在此用户的时间轴上发布,而是必须在特定的 Facebook 主页时间轴上发布。

通过使用共享对话框,似乎无法配置帖子的目标(在本例中为 Facebook 页面)。或者至少我找不到。

你会怎么做?

注意:该应用是用 Unity/C# 制作的,尽管我认为这并不重要

【问题讨论】:

  • 目前无法使用任何对话框。您需要创建一个应用程序,让用户登录并授予其发布权限,然后通过 API 发布。

标签: c# facebook facebook-graph-api unity3d facebook-javascript-sdk


【解决方案1】:

试试这个代码:)

<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {               
        FB.init({
            appId      : '**appId**',
            channelUrl : '//local.facebook-test/channel.html',
            status     : true,
            xfbml      : true,
            oauth      : true
        });
        FB.login(function(response)
        {
            if (response.authResponse)
            {                    
                 var opts = {
                    message : '**message**',
                    access_token: '**PageAccessToken**',
                    name : '**name**',
                    link : 'https://developers.facebook.com/docs/reference/dialogs/',
                    description : '**description**',
                    picture : 'http://url/to/pic.jpg'                                                        
                 };
                FB.api('/me/feed', 'post', opts, function(response)
                 {
                    if (!response || response.error)
                    {
                        console.log(response.error);
                        alert('Posting error occured');
                    }else{
                        alert('Success - Post ID: ' + response.id);
                    }
                 });
            } else {
                alert('Not logged in');
            }
        }, { scope: 'manage_pages, publish_actions, user_photos' });

    };
    (function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/all.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多