0

我正在尝试将一些 php fql 调用加载到 ajax facebox(它就像灯箱),我在其中包含一个带有以下代码的文件,但是如果没有重定向($my_url)它就无法工作,有什么办法可以制作代码忽略重定向?还是我需要使用来自 facebook 的 javascript sdk?

$app_id = 'APP ID';
$app_secret = 'APP SECRET';
$my_url = 'LINK HERE';

$code = $_REQUEST["code"];

$bruger = "me()";

//auth user
if(empty($code)) {
    $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
    . $app_id . '&redirect_uri=' . urlencode($my_url) ;
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
}

$token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code;

// response is of the format "access_token=AAAC..."
$access_token = substr(file_get_contents($token_url), 13);
4

1 回答 1

0

您是否尝试过使用Facebook PHP SDK?我强烈建议您放弃折旧的 FQL,因为一旦您掌握了新的 API,它就非常易于使用

设置完成后,$facebook您就可以使用 API 调用$facebook->api('/query');

我不是 100% 确定你想从你的问题中检索什么信息,但是我自己整理了一个 Lightbox / Facebook,甚至使用标签数据从图片中挑选人,所以随时提供更多细节,我会尝试提供更全面的答案

编辑:为了构建查询和测试返回的数据,您可以使用Graph API Explorer并构建要针对您自己的 Facebook 应用程序测试的查询

我正在尝试获取好友列表

设置完成$facebook后,您可以使用

$fb_friends = $facebook->api("/me?fields=friends");

下一个:

50 张最新标记的照片和喜欢的照片

要检索最新的 50 张标记照片和点赞,您需要执行以下操作:

$fb_photos = $facebook->api("/me?fields=photos.limit(50)");
$fb_likes = $facebook->api("/me?fields=likes.limit(50)");

// I should mention that each time api() is called, the server makes a HTTPS request to Facebook, so it is worth condensing api queries to reduce load time:
$fb_data = $facebook->api("/me?fields=photos.limit(50),likes.limit(50)");

$fb_photos = $fb_data['photos'];
$fb_likes = $fb_data['likes'];

如果你想按时间顺序对最近的 50 张照片喜欢的照片进行排序,你可以array_merge()将两个数组和对 created_time 使用 subval 排序函数,然后只取前 50 个。

我要将所有基本信息插入 mysql(名称、facebook id、电子邮件等)。我将使用插入 myslq 的 fb id 来查看好友列表、喜欢和照片

那时,当您的用户登录时,您需要向他们请求扩展权限才能访问照片、喜欢和朋友等数据。当您的用户使用您在网站上提供给他们的链接登录 Facebook 时,您需要致电

$loginUrl = $facebook->getLoginUrl(array( 'scope' => 'read_stream,user_likes,user_photos,friends_photos,user_friends'));`

范围由此处所述的权限定义

一旦您被用户授予访问该信息的权限,您就可以检索个人资料信息,$user = $facebook->api("/me");并将 Facebook ID、姓名等存储在您的数据库中。

为了更好地查看您将为照片处理的数据,请确保您单击页面顶部的获取访问令牌并授予访问照片和喜欢的权限

有更多问题欢迎提问,我会提供更多细节,希望对朋友有所帮助!

于 2013-09-24T10:49:29.350 回答