我正在 Facebook 中编写一个应用程序,该应用程序旨在通过我自己的业务页面上的页面选项卡显示。我需要与查看用户进行交互,因此我需要扩展权限。
我已按照建议的程序进行操作,但现在碰壁了。我的应用程序位于 iFrame 中,并且对扩展权限的请求使用重定向。我可以获得您需要确认授权的页面,但是当您单击允许时,Facebook 会重定向到托管我的应用程序的页面,而不是返回到我的 Facebook 页面选项卡。一旦获得了适当的权限,应用程序的其余部分就可以正常工作,所以我知道这只是重定向的问题,但我觉得我已经尝试了所有方法,似乎没有很多人遇到同样的问题。如果有人能指出我正确的方向,我会很高兴。
谢谢!
这是我的代码:
$app_id = "myappid";
$canvas_page = "http://wheremyappishosted/";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$user_id = $data["user_id"];
$access_token = $data['oauth_token'];
if (empty($data["user_id"])) {
$auth_url = "https://graph.facebook.com/oauth/authorize?client_id=".$app_id."&redirect_uri=".urlencode($canvas_page)."&scope=user_photos,friends_photos,publish_stream,user_likes";
die("<script> top.location.href='" . $auth_url . "'</script>");
}
$f = json_decode(file_get_contents("https://graph.facebook.com/".$user_id."?access_token=".$access_token."&fields=name,albums,likes"), true);