2016-04-07 17 views
0
{ 
    "response": { 
     "request": { 
      "date": "Tue, 13 Sep 2011 11:24:28 +0200", 
      "resource": "https://stackoverflow.com/users/2cec711d-ca14-4472-98c8-ca74432bc2d3.json", 
      "status": { 
       "flag": "success", 
       "code": 200 
      } 
     }, 
     "result": { 
      "data": { 
       "user": { 
        "user_token": "2cec711d-ca14-4472-98c8-ca74432bc2d3", 
        "date_creation": "Tue, 1 Sep 2011 11:01:12 +0200", 
        "date_last_login": "Tue, 13 Sep 2011 01:05:07 +0200", 
        "num_logins": "64", 
        "identities": [{ 
         "identity_token": "cd3bd13b-b393-4d6c-a7f6-950b4c47938f", 
         "provider": "twitter", 
         "id": "http://twitter.com/ExampleUser", 
         "displayName": "Firstname Lastname", 
         "name": { 
          "formatted": "Firstname Lastname" 
         }, 
         "gender": "male", 
         "utcOffset": "2:00" 
        }, { 
         "identity_token": "3ab5257b-ba2b-4242-a7f6-950b4c47938f", 
         "provider": "facebook", 
         "id": "http://www.facebook.com/profile.php?id=1046121518", 
         "displayName": "Firstname Lastname", 
         "name": { 
          "formatted": "Firstname Lastname", 
          "givenName": "Firstname", 
          "familyName": "Lastname" 
         }, 
         "gender": "male", 
         "birthday": "01/01/1980", 
         "utcOffset": "2:00", 
         "emails": [{ 
          "value": "[email protected]", 
          "is_verified": "true" 
         }] 
        }] 
       } 
      } 
     } 
    } 
} 

上記のコードは結果である:私は私のウェブサイト、ソーシャルログインのためoneall APIを使用していますONEALL API によって返されたコード、私は、ユーザーのトークンを使用してgetメソッドによって、ユーザの詳細情報を要求し、ログインした後、最後のログインのような値を得ました$data->user->date_last_loginを使用して、しかし、私は、電子メールを取得し、もう1つは、私はちょうどサンプルを与えたすべてのコードを書いていなかった、これは他の人のために役立つことを願っていることを私はどのように行うことができますdispalynameすることができませんもoneall APIから電子メールと表示名を取得する方法は?

http://docs.oneall.com/api/resources/users/read-user-details/

答えて

0

の場合あなたはオブジェクト構造に従って、あなたはそれらを得ることができます:

$data = json_decode($json); 
$displayName = $data->response->result->data->user->identities[1]->displayName; 
$email = $data->response->result->data->user->identities[1]->emails[0]->value; 

更新:

あなたは、応答データの中間VARを使用している場合は、単にチェーンを縮小:

$json = json_decode($result_json); 
//extract response data 
$data = $json->response->result->data; 
$displayName = $data->user->identities[1]->displayName; 
$email = $data->user->identities[1]->emails[0]->value; 

は、これはあなたを与えるだろう。

Firstname Lastname 
[email protected] 

をここでは完全に行きますコード:JSONオブジェクトに基づいて:

<?php 
    $result_json = ' 
     { 
      "response": { 
        "request": { 
          "date": "Tue, 13 Sep 2011 11:24:28 +0200", 
          "resource": "https://stackoverflow.com/users/2cec711d-ca14-4472-98c8-ca74432bc2d3.json", 
          "status": { 
            "flag": "success", 
            "code": 200 
          } 
        }, 
        "result": { 
          "data": { 
            "user": { 
              "user_token": "2cec711d-ca14-4472-98c8-ca74432bc2d3", 
              "date_creation": "Tue, 1 Sep 2011 11:01:12 +0200", 
              "date_last_login": "Tue, 13 Sep 2011 01:05:07 +0200", 
              "num_logins": "64", 
              "identities": [{ 
                "identity_token": "cd3bd13b-b393-4d6c-a7f6-950b4c47938f", 
                "provider": "twitter", 
                "id": "http://twitter.com/ExampleUser", 
                "displayName": "Firstname Lastname", 
                "name": { 
                  "formatted": "Firstname Lastname" 
                }, 
                "gender": "male", 
                "utcOffset": "2:00" 
              }, { 
                "identity_token": "3ab5257b-ba2b-4242-a7f6-950b4c47938f", 
                "provider": "facebook", 
                "id": "http://www.facebook.com/profile.php?id=1046121518", 
                "displayName": "Firstname Lastname", 
                "name": { 
                  "formatted": "Firstname Lastname", 
                  "givenName": "Firstname", 
                  "familyName": "Lastname" 
                }, 
                "gender": "male", 
                "birthday": "01/01/1980", 
                "utcOffset": "2:00", 
                "emails": [{ 
                  "value": "[email protected]", 
                  "is_verified": "true" 
                }] 
              }] 
            } 
          } 
        } 
      } 
     }'; 

    $json = json_decode($result_json); 
    $data = $json->response->result->data; 
    echo $displayName = $data->user->identities[1]->displayName; 
    echo '<br>'; 
    echo $email = $data->user->identities[1]->emails[0]->value; 
?> 
+0

私はこれらの値を取得していませんどこに問題がありますかこれはoneall api $ json = json_decode($ result_json)への接続を作成した方法です。 //データを抽出する $ data = $ json-> response-> result-> data; –

+0

、次にチェーンを短くしてください。アップデートを参照してください。 – mitkosoft

+0

私は$ data-> user-> identity [1] - > emails [0] - > valueのように使いました。電子メールのためにそれが得ていない –

関連する問題