我正在运行一个与Facebook建立PHP-SDK连接的网站。我可以弄清楚,出了什么问题:
- 新用户来到mysite网址,并使用一个按钮使用Facebook登录。
- Facebook要求Permisation。用户接受。
- 我都没事。
但:
- 新用户来到Facebok Canvas应用程序,并使用一个按钮使用facebook登录(我不使用Javascript,也不想使用)。
- 什么也没发生,似乎Facebook调用了网址(getLoginUrl),但它没有显示用户可以允许权限的页面。
我使用:
$params = array(
'canvas' => 1,
'fbconnect' => 0,
'scope' => 'user_about_me, email, publish_stream, read_stream',
'redirect_uri' => http:/my_domain.com,
'display' => 'page'
);
$loginUrl = $facebook->getLoginUrl($params);
我尝试使用:
'redirect_uri' => 'http://apps.facebook.com/app_namespace/',
但它也不起作用。有人有什么想法吗?
多谢。。。
编辑:我尝试使用javascript:top.location.href = ...它可以工作,但前提是我使用 as redirect_uri - htttp://domain.com,因此用户不再在 Facebook 画布应用程序中:(我认为我可能用错了方式...
如果将重定向 uri 设置为画布 URL,则可以通过以下方式获取用户的访问令牌
$facebook->getSignedRequest();