2016-07-07 8 views
1

私はFacebook SDKとPHPを使っています。すべて正常に動作していますが、変数に特定のフィールド値を格納している部分で問題が発生しています。Facebook SDKとPHP配列

ここには、情報を取得して印刷するコードがあります。

if ($session){ //if we have the FB session 

    $user_profile = (new FacebookRequest($session, 'GET', '/me/accounts?fields=id,name,access_token'))->execute()->getGraphObject(GraphUser::className()); 
    //do stuff below, save user info to database etc. 
    echo "Session Set."; 

    echo '<pre>'; 
    print_r($user_profile); //Or just print all user details 
    $variable = print_r($user_profile, TRUE); 
    echo '</pre>'; 

    // How do I get the first 'id', 'name', and 'access_token' 
    // How do I get the second 'id', 'name', and 'access_token' 
} 

そして、ここで(私は明白な理由のためのXXXXと実際のデータを置き換え)出力しますものです:

Session Set. 
Facebook\GraphUser Object 
(
    [backingData:protected] => Array 
     (
      [data] => Array 
       (
        [0] => stdClass Object 
         (
          [id] => XXXXXXXX 
          [name] => XXXXXXXX 
          [access_token] => XXXXXXXXX 
         ) 

        [1] => stdClass Object 
         (
          [id] => XXXXXXXXX 
          [name] => XXXXXXXXX 
          [access_token] => XXXXXXXXX 
         ) 

       ) 

      [paging] => stdClass Object 
       (
        [cursors] => stdClass Object 
         (
          [before] => XXXXXXX 
          [after] => XXXXXXX 
         ) 

       ) 

     ) 

) 

どのように私は、[ID]を取る[名]、および[access_tokenは]ないと店私は最終的にそれらをdbに保存することができますので、変数でそれらを?

答えて

1

あなたがPHPを使用してFacebookのSDKと統合しようとしているのであれば、私は非常にここにFacebookの開発者向けガイドを読んでお勧めします。ここでは

https://developers.facebook.com/docs/php/gettingstarted

は使用上の非常に役立つYouTubeのチュートリアルですFacebookのSDK:

https://www.youtube.com/watch?v=P9ktjGNeAzg

ここではFacebookのSDKについての彼のGitHubのファイルがあります

https://github.com/sohaibilyas/facebook-php-sdk-v5

のFacebookページIDとaccess_tokenはアドオンページtab.phpここ

だっ取得する方法を見つけ出すために私をリードする巻き上げファイルはを提供しますコードの一部でありますあなたの情報:

$pages = $fb->get('/me/accounts'); 
$pages = $pages->getGraphEdge()->asArray(); 
?> 

<form action="XXXXXXXXXX" method="POST"> 
<select name="page" single> 

<?php 
foreach ($pages as $key) { 
    ?> 
    <option value="<?php echo $key['id']; ?>"><?php echo $key['name']; ?></option> 
    <?php 
} 

?> 
</select> 
<input type="submit" name="submit"> 
</form> 
<?php 

if(isset($_POST['submit'])) { 
    $page = $fb->get('/' . $_POST['page'] . '?fields=access_token, name, id'); 
    $page = $page->getGraphNode()->asArray(); 

    echo "Access Token: " .$page['access_token'] . "<br/><br/>"; 

    echo "Page Id: " . $page['id']; 

    // print_r($page); 

} 

あなたは、簡単になど、DB、SESSION、COOKIEに変数を格納...と異なる機能を実行することができます。

これは誰かを助けることを望みます。私の最善のアドバイスは、チュートリアルを見て、Facebookのガイドを完全に読んでいます。あなたは、ショートカットを取ろうとしないで、多くの時間と頭痛を節約します!