我需要别人的帮助。
当我打开https://developers.facebook.com/docs/reference/api/并点击https://graph.facebook.com/me/likes?access_token=blablabla时,我获得了所有我喜欢的页面。
我的问题是,从哪里获得access_token值?我可以通过脚本获得吗?
答案 0 :(得分:1)
Facebook开发者网站利用内部测试控制台应用程序,所有开发人员都可以使用该应用程序来测试文档中的调用,站点会自动附加access_token。
下一个地方可以使用Graph API Explorer应用程序找到访问令牌https://developers.facebook.com/tools/explorer。
您也可以按照http://developers.facebook.com/docs/authentication/
中描述的身份验证流程之一通过脚本获取它您需要在https://developers.facebook.com/apps然后
创建一个应用程序例如,通过使用服务器端流程的PHP,
<?php
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$my_url = "YOUR_URL";
session_start();
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'];
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
$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 = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/me/likes?access_token="
. $params['access_token'];
$likes = json_decode(file_get_contents($graph_url));
print_r($likes); // A dump of the likes data
}
else {
echo("The state does not match. You may be a victim of CSRF.");
}
?>
查看http://developers.facebook.com/docs/authentication/server-side/
提供的更多参考信息