2016-07-07 90 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' 
} 

而這裏就是打印(I替換爲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]和存儲他們在變量,所以我最終可以將他們保存到一個數據庫?

回答

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); 

} 

此後可以輕鬆地將變量存儲到數據庫中,SESSION,COOKIE,等等......並執行不同的功能。

希望這可以幫助別人。我最好的建議是完成教程並閱讀Facebook指南。你會節省很多時間和頭痛,不要試圖走捷徑!