javascript - Fb.api 未定义用户

标签 javascript facebook facebook-graph-api

我有以下问题:

如果我运行以下代码,用户登录 facebook 后:

FB.api('/me', function(user) {
      alert(user.name);
});

它弹出一个写有“Udefined”的警告。

但是如果我按以下方式更改代码:

FB.api( /[MY_REAL_FACEBOOK_ID], function(user) {
      alert(user.name);
});

它以正确的方式响应。

这怎么可能? 为什么“/我”永远不起作用?

最佳答案

我认为您可能是在应用程序而不是用户的上下文中查询“/me”。文档没有尽可能明确,但我遇到了同样的问题。

你能使用FB.getLoginStatus吗? ?

设置 FB.init 后,我​​调用 FB.getLoginStatus,类似于下面的内容。可能有更好的方法来执行此操作,但它对我有用。

希望这对您有所帮助:

 FB.getLoginStatus(function (response) {

            if (response.session) {
                // logged in and connected user, someone you know

                graphUrl = "https://graph.facebook.com/me?access_token=" +         response.session.access_token + "&callback=displayUser"
                var script = document.createElement("script");
                script.src = graphUrl;
                document.body.appendChild(script);


            } else {
                // no user session available, someone you dont know

            }});


 function displayUser(user) {

        alert(user.name);
    }

关于javascript - Fb.api 未定义用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5299194/

相关文章:

javascript - 使用 AJAX 从函数返回值

javascript - 选择页面加载选项

facebook - 无法遵循重定向路径

ios - Facebook iOS SDK - 身份验证/登录页面上的语言错误

facebook - 如何获取Facebook页面的平均评分和评分数量?

javascript - 意外的 token JSON.parse

javascript - 替换javascript中字符串中的字母

ios - Facebook邀请 friend 加入应用程序并获取选定用户的ID

ios - 我想使用我的 iOS 应用程序在 Facebook 墙上发布带有自定义文本的视频

facebook - 有时 "The specified feature has been temporarily disabled for this application"