3
function getUser()
{
    FB.api('/me', function(response) {
       console.log('Response is '+response);
       alert('Your name is ' + response.first_name);
       alert('Your last name is ' + response.last_name);
       alert('Your Gender is ' + response.gender);
       alert('Your status is '+response.username);
    }

以下のような応答全体を印刷するにはどうすればよいですか?

{
  "id": "blah blah", 
  "name": "blah blah", 
  "first_name": "blah blah", 
  "last_name": "blah blah", 
  "link": "https://www.facebook.com/blah blah", 
  "username": "blah blah", 
  "hometown": {
    "id": "106442706060302", 
    "name": "Pune, Maharashtra"
  }, 
  "location": {
    "id": "106377336067638", 
    "name": "Bangalore, India"
  }, 
  "bio": "╔══╗♫ ♪♫\n║██║\n║¨o•♫\n╚═|̲̅̅●̲̅̅|̅lιlllι ♫ I LoVe MuZiK!!\n\n█║▌│█│║▌║│█║▌│║\n® Copyright © 2012 ™\n█║▌│█│║▌║│█║▌│║\n\nReVoLt", 
  "gender": "male", 
  "relationship_status": "Single", 
  "timezone": 5.5, 
  "locale": "en_GB", 
  "verified": true, 
  "updated_time": "2012-06-15T05:33:31+0000", 
  "type": "user"
}

また、respose.nameによって、ユーザーの名前を取得しています。JSON配列であるため、パラメーターの場所で場所を取得するにはどうすればよいですか?

4

3 に答える 3

2

JSON.stringify(response);を使用します。オブジェクト全体を印刷する必要があります。

JSON.parse()またはjQuery.parseJSON();を使用します。ここで応答オブジェクトの例のプロパティを解析して取得するには:jsfiddle.net/epinapala/HrfkLおよびここ:jsfiddle.net/epinapala/zfWWv/3

    var obj2 = JSON.parse('{"id":"579156356","name":"Vishal Jethani","first_name":"Vishal","last_name":"Jethani","link":"https://www.facebook.com/vishal.jethani","username":"vishal.jethani","hometown":{"id":"106442706060302","name":"Pune, Maharashtra"},"location":{"id":"106377336067638","name":"Bangalore, India"},"bio":"bye bye to bad characters","gender":"male","relationship_status":"Single","timezone":5.5,"locale":"en_GB","verified":true,"updated_time":"2012-06-15T05:33:31+0000","type":"user"}');
alert("Parsing with Json : " + obj2.location.name);​

リクエスターからの要求に応じた多次元配列の場合:これは機能するはずです:http://jsfiddle.net/epinapala/WQcDg/

var obj2 = JSON.parse('{"work":[{"employer":{"id":"185998961446429","name":"Pvt Ltd"}}]}');

alert("Parsing with Json : " + JSON.stringify(obj2.work[0].employer.name));
于 2012-06-16T09:17:53.607 に答える
0

FBGraphAPIを使用する必要があると思います。さらに情報が必要な場合は、次のように使用する必要があります

https://graph.facebook.com/579156356

https://graph.facebook.com/btaylor?access_token=AAAAAAITEghMBAHTRFEKjKcvFe1W2NJTu1Gsy20cNWEe0Dh98KoOhJEInZB1kXrMprNUaN6nq8FZA7YMZBvNVLwuz6pglh1SIBbZCnEECOAZDZD

私はこのように使用しています。

function(evt){
     console.log(evt.target.responseText);
     var FB_obj = JSON.parse(evt.target.responseText);
     console.log("fb id >>"+FB_obj.id);
     console.log("fb name >>"+FB_obj.name);
}
于 2012-06-16T09:04:23.607 に答える
0

Jqueryを使用して、純粋なjavascriptを使用してJsonメソッドを取得します。

  1. Accesstokenを入手する必要があります
  2. テキストメッセージのYOUR_ACCESS_TOKENフィールドの下にあるアクセストークンを置き換えます

このライブラリを使用して、日付をフォーマットしました 。https://github.com/datejs/Datejs

    $.getJSON("https://graph.facebook.com/5973249561/events/?access_token=YOUR_ACCESS_TOKEN&fields=id,name,description,start_time,place,cover,end_time&limit=4",
      function(result){
        for(x = 0; x < result.data.length; x++) {
          var id = result.data[x].id;
          var name = result.data[x].name;
          var cover = result.data[x].cover.source;
          var date = new Date(result.data[x].start_time);
          var place = result.data[x].place.name;
          var day = date.toString('dd');
          var month = date.toString('MMM');
          var url = 'https://facebook.com/'+id;
          var time = date.toString("hh:mm tt");
          $("#evt").append(name);
        }
      });
于 2017-04-17T11:07:19.787 に答える