使用 Facebook Graph API 获取用户好友列表

发布于 2024-10-22 03:38:30 字数 482 浏览 2 评论 0原文

我需要掌握应用程序好友列表中的用户,以过滤好友选择器中显示的用户。我知道我可以调用以下命令并获取列表:

https://graph.facebook.com/me/friends?access_token=<access_token>

我用自己的帐户在地址栏中尝试了它,它似乎完全按照我需要的方式工作。问题是,我不知道如何在 js 文件本身中使用它。我尝试调用它并通过 jquery 调用获取数据,但它似乎没有返回任何有用的信息。

$.get("https://graph.facebook.com/me/friends",
    {access_token: <access_token>},
    function(data){ document.write("Data Loaded: " + data);});

我应该如何在我的 js 文件中调用它,然后实际利用这些信息?谢谢。

I need to get a hold of a user of my app's list of friends to filter the users that show up in a friend picker. I know I can call the following and get the list:

https://graph.facebook.com/me/friends?access_token=<access_token>

I tried it out in the address bar with my own account and it seems to work exactly as I need it to. Problem is, I don't know how to make use of it in a js file itself. I tried calling it and getting the data out with a jquery call but it doesn't seem to return anything helpful.

$.get("https://graph.facebook.com/me/friends",
    {access_token: <access_token>},
    function(data){ document.write("Data Loaded: " + data);});

How should I be calling this in my js files and then actually make use of the information? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷爱 2024-10-29 03:38:30

更新:根据V2.0中引入的更改、/me/friends 将仅返回应用好友


正确的方法是使用 Facebook Javascript-SDK,类似这样:

function getFriends() {
    FB.api('/me/friends', function(response) {
        if(response.data) {
            $.each(response.data,function(index,friend) {
                alert(friend.name + ' has id:' + friend.id);
            });
        } else {
            alert("Error!");
        }
    });
}

请注意:

  1. 我在这里也使用 jQuery
  2. 您可能需要在调用此函数之前检查用户是否已连接。

UPDATE: As per the changes introduced in V2.0, /me/friends will return app friends only.


The right way to do that is by using the Facebook Javascript-SDK, something like this:

function getFriends() {
    FB.api('/me/friends', function(response) {
        if(response.data) {
            $.each(response.data,function(index,friend) {
                alert(friend.name + ' has id:' + friend.id);
            });
        } else {
            alert("Error!");
        }
    });
}

Please note that:

  1. I'm using jQuery here too
  2. You may need to check if the user is connected before calling this function.
停滞 2024-10-29 03:38:30

如果您想使用 JavaScript 从图表中提取信息,则必须使用 JS SDK 和 FB.api 方法进行调用。

If you want to extract information from the Graph with JavaScript, you will have to use the JS SDK and FB.api method to make the calls.

咿呀咿呀哟 2024-10-29 03:38:30

它对我有用:

<!DOCTYPE html> <html lang="en"> <head>
    <meta charset="utf-8" />
    <title>JSON Sample</title> </head> <body>
    <div id="placeholder"></div>
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>   $.getJSON('https://graph.facebook.com/eris.risyana/friends?limit=100&access_token=[your_access_token]', function(mydata) {
        var output="<ul>";
        for (var i in mydata.data) {
            output+="<li>NAMA : " + mydata.data[i].name + "<br/>ID : " + mydata.data[i].id + "</li>";
        }

        output+="</ul>";
        document.getElementById("placeholder").innerHTML=output;   });
    </script> </body> </html>

结果:

NAMA : Priscillia Anna Yuliana
ID : 534513444
NAMA : Priyatna Mii
ID : 534619517
NAMA : Icha Sasmita
ID : 544737437
NAMA : CW Trianggono
ID : 599225957
NAMA : Krshna Sulanjana
ID : 605633569
NAMA : Aris Pujiarti
ID : 635209234
NAMA : Armand Muljadi
ID : 663419616
NAMA : Nurdin Somantri
ID : 675697956
NAMA : Muhammad Zamzam Fauzanafi
ID : 686838979
NAMA : Jerome Coutelier
ID : 690661663

It's working for me :

<!DOCTYPE html> <html lang="en"> <head>
    <meta charset="utf-8" />
    <title>JSON Sample</title> </head> <body>
    <div id="placeholder"></div>
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>   $.getJSON('https://graph.facebook.com/eris.risyana/friends?limit=100&access_token=[your_access_token]', function(mydata) {
        var output="<ul>";
        for (var i in mydata.data) {
            output+="<li>NAMA : " + mydata.data[i].name + "<br/>ID : " + mydata.data[i].id + "</li>";
        }

        output+="</ul>";
        document.getElementById("placeholder").innerHTML=output;   });
    </script> </body> </html>

Result :

NAMA : Priscillia Anna Yuliana
ID : 534513444
NAMA : Priyatna Mii
ID : 534619517
NAMA : Icha Sasmita
ID : 544737437
NAMA : CW Trianggono
ID : 599225957
NAMA : Krshna Sulanjana
ID : 605633569
NAMA : Aris Pujiarti
ID : 635209234
NAMA : Armand Muljadi
ID : 663419616
NAMA : Nurdin Somantri
ID : 675697956
NAMA : Muhammad Zamzam Fauzanafi
ID : 686838979
NAMA : Jerome Coutelier
ID : 690661663
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文