2016-07-07 91 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指南。你会节省很多时间和头痛,不要试图走捷径!