当前位置: 首页 > 面试题库 >

JavaScriptJS SDK的FB.api('/ me')方法未返回我在Graph API v2.4 +中期望的字段

鲜于谦
2023-03-14
问题内容

我正在尝试使用Facebook api获取一些基本信息,但到目前为止,我只获得用户的姓名和ID。如{ name: "Juan Fuentes", id: "123456" }

我需要获取更多信息,例如电子邮件,名字,姓氏和生日

这是我的js代码

function facebookLogin() {
  FB.login(function(response) {
    var token = response.authResponse.accessToken;
    var uid = response.authResponse.userID;
    if (response.authResponse) {
      FB.api('/me', 'get', { access_token: token }, function(response) {
        console.log(response);
      });

      FB.api('/'+uid, 'get', { access_token: token }, function(response) {
        console.log(response);
      });
    }
  },
  { scope: 'public_profile' }
  );
}

这是激活它的按钮

<a id="fb-login" href="#" onclick="facebookLogin()"></a>

问题答案:

声明性字段
为了尝试提高移动网络的性能,v2.4中的“节点和边缘”要求您显式请求GET请求所需的字段。例如,默认情况下,GET
/v2.4/me/feed不再包含喜欢和评论,但是GET
/v2.4/me/feed?fields=comments,喜欢将返回数据。有关更多详细信息,请参阅有关如何请求特定字段的文档。


例如

FB.api('/me', 'get', { access_token: token, fields: 'id,name,gender' }, function(response) {
    console.log(response);
});


 类似资料:
  • 我脑海中的东西告诉我,我在这里错过了一些明显的东西。 我正在将一个现有的java项目与一个第三方api进行集成,该api使用API密钥的md5散列进行身份验证。它对我不起作用,在调试过程中,我意识到我生成的散列与他们提供的例子不匹配。我发现一些网站从字符串中创建MD5哈希来检查他们的例子,就我所知,我错了,他们是对的。 例如,根据这个网站,字符串“hello”生成“5d41402abc4b2a76

  • 我知道我的两个日期是相等的,因为我可以使用accessor方法获取日期、月份和年份,然后将它们作为一个字符串打印出来。当我将这两个日期作为字符串打印出来时,它们打印出来的结果是相等的。我尝试过用equals方法使用几个不同的字符串和日期实现,但都没有成功。我只在比较日期的字符串为“1/1/2000”时出现问题。这是我的方法。我的toString()方法将日期写为字符串“01/01/2000” 如果

  • 我试图从React调用一个API,但它一直以未定义的方式返回。这是我的代码: 当我运行它时,console.log()返回未定义的,这意味着我得到的错误。我不太确定如何解决这个问题,所以任何帮助都将不胜感激!谢谢。 编辑:这是API在您转到以下链接时返回的内容:

  • 我最近在浏览SurfaceView的android文档,我发现要获得实际的surface,你必须做以下事情: surface holder的文档在这里:https://developer . Android . com/reference/Android/view/surface holder . html 现在一个SurfaceHolder从getHolder()返回,然后你可以在那个支架上调用

  • //即使在返回成功消息后,我仍然收到预期的字符串返回…//任何帮助都将不胜感激

  • 编者按:这个问题中的语法早于Rust 1.0,1.0更新的语法会产生不同的错误,但Rust 1.0中的总体概念仍然相同。 我有一个带有字段的结构T,我想从函数返回该字符串。我不想复制整个字符串,只是指针: 为什么这是错误的?返回