使用帖子id检索facebook帖子URL

使用帖子id检索facebook帖子URL,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我想从我的链接中获取共享用户的URL,我已经获得了post\u id,但是当我尝试获取完整的post URL时,facebook要求获取我的访问令牌,用户共享后我可以获得访问令牌吗 这是我的代码[更新]: <div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : 'MYAPPID', xfbml

我想从我的链接中获取共享用户的URL,我已经获得了
post\u id
,但是当我尝试获取完整的post URL时,facebook要求获取我的访问令牌,用户共享后我可以获得访问令牌吗

这是我的代码[更新]

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
        appId   : 'MYAPPID',
        xfbml   : true,
        status  : true,
        cookie  : true,
        version : 'v2.3'
    });
  };

  (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/sdk.js#xfbml=1&version=v2.3";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

</script>

<script>
function shareonfacebook(){
        FB.ui(
        {
            method: 'feed',
            name: 'Example',
            link: 'https://www.example.com',
            picture: 'Example.jpg',
            caption: 'Example',
            description: 'Example',
        },
            function (response) {
                if (response && response.post_id) {
                    alert('Thanks!');
                    console.log( response );
                } else {
                    alert('Oops!');
                }
            }
        );

    };
</script>

window.fbAsyninit=函数(){
FB.init({
appId:'MYAPPID',
xfbml:是的,
状态:正确,
曲奇:是的,
版本:“v2.3”
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js#xfml=1&version=v2.3”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
函数shareonfacebook(){
FB.ui(
{
方法:“提要”,
名称:“示例”,
链接:'https://www.example.com',
图片:“Example.jpg”,
标题:“示例”,
描述:'示例',
},
功能(响应){
if(应答和应答后id){
警惕(“谢谢!”);
控制台日志(响应);
}否则{
警报('Oops!');
}
}
);
};

只有在您向用户授予
发布操作
权限时,帖子ID才会出现:

仅当用户使用Facebook和登录到您的应用程序时可用 已授予发布操作。如果存在,这是服务器的ID 发表开放图故事


旁注:如果您需要有关登录部分的帮助,这里有一篇关于这方面的文章:

因为您的代码量相当少,所以将其发布在这里会很有帮助。用户不会点击该链接。另外,要具体得多。例如,错误消息到底是什么?你想知道用户的URL是为了什么?你是指个人资料的网址吗?你为什么需要它?我想让某人在facebook上分享他们的推荐,所以我想知道facebook帖子的URL,如果你有帖子id,那么你可以简单地链接到
https://www.facebook.com/post_id
,它会自动将用户重定向到正确的位置。我已经做了一些修改,以便获得帖子URL,但现在的问题是如何将默认的共享帖子设置为公共,因为默认的fb.ui共享是友好的。您不能这样做,设置完全取决于用户。有没有办法不使用
fb.ui
,ie
fb.api
?或者根本不可能做到这一点?设置它是不可能的。只有阴暗的应用程序才会尝试更改这些设置,这完全取决于用户,而这正是应该的;)-您只能使用提要端点选择一个不太开放的隐私设置。不过,我不确定这与你的问题有什么关系,这个帖子不是关于隐私设置的。好的,fb.ui可以分享到facebook页面吗?我一直在开车,但教程似乎过时了