【问题标题】:Using Facebook Graph API I can access the JSOD for my album but not through an api call via PHP SDK使用 Facebook Graph API,我可以访问相册的 JSOD,但不能通过 PHP SDK 的 api 调用
【发布时间】:2011-01-31 18:06:54
【问题描述】:

我的问题是这个。 对于任何浏览器,我都可以访问 JSOD,而不管使用图形 API 的 cookie/缓存如何,并且将被授予权限。但是当我尝试将它与 php sdk 一起使用时,除非我登录,否则它不会显示。

注意:

它所访问的用户已通过“offline_access”进行了oAuth。

无论我是否登录,它都可以随时随地使用。

https://graph.facebook.com/113401955056/photos?access_token=195481353795312|21c8aad906641dc6f0894861-509590056|IEyCHjWm-3XFpX__eCtv0OMZUisectrezz

除非我已经登录 Facebook,否则这不起作用。

<?php
require_once ('../lib/facebook.php');

$app_id = '195481353795312';
$app_secret = 'secretzz';
$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' => $app_secret,
  'cookie' => true,
));

  $photos = $facebook->api("/113401955056/photos?access_token=195481353795312|21c8aad906641dc6f0894861-509590056|IEyCHjWm-3XFpX__eCtv0OMZUisecretz");

  foreach($photos['data'] as $photo)
  {
    echo '<figure class="thumbnail">
    <a href="'.$photo['source'].'">
    <img src="'.$photo['picture'].'" />
    </a>
    <figcaption class="thumb_title">'.$photo['name'].'</figcaption>
    <!-- end of thumb -->
    </figure><!-- end of figure -->
    ';
  }
?>

【问题讨论】:

    标签: php oauth facebook-graph-api


    【解决方案1】:

    据我所知,您实际上需要用户令牌才能进行离线访问

    $session = $facebook->getSession();
    
    if ($session) {
        // you need to store the $session['access_token']; 
    }
    

    之后就可以离线获取用户数据了:

    $token =  array(
    
        'access_token' => 'TOKEN HERE'
    
    );
    
    $userdata = $facebook->api('/me', 'GET', $token);
    

    这是关于它的整篇文章 - http://eagerfish.eu/using-facebook-off-line-access-to-post-on-users-wall/ 希望对你有帮助。

    【讨论】:

    • "它访问的用户已经通过 'offline_access' 进行了 oAuth'd。"而且offline_access 权限仅在令牌有效时更改。因此,只要他当前的令牌有效,它就不会改变任何东西。
    • 是的,但我认为他没有正确调用 API。
    • 这仅用于获取会话和访问令牌。之后,它被存储。我没有将其存储在数据库中,而是将其硬编码到 php 中,因为我将成为我的应用程序的唯一用户。
    • 啊!你的答案是正确的,但你的措辞有点令人困惑。这就是解决我的问题的原因: $photos = $facebook->api("/113401955056/photos", array('access_token' => '195481353795312|21c8aad906641dc6f0894861-509590056|IEyCHjWm-3XFpX__eCtv0OMZUisecretz'));
    • 我很高兴能帮上忙。祝你在 Facebook 上的东西好运。没有良好的文档可能会非常令人沮丧。
    猜你喜欢
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多