0

我正在构建一个 php 页面,该页面将具有不同的 url,例如:

http://example.com/fb.php?id=1

等等..

我制作了 facebook fan gate,它实际上适用于静态页面:但是对于变量它不起作用,我不知道为什么。我需要在这里获得权限:

$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1,
    'fbconnect' => 1,
    'display' => 'page',
    'req_perms' => 'user_likes',
    'next' => 'http://example.com/fb.php',
    'cancel_url'=> 'http://example.com/fb.php'
));

我需要把变量放在这里,在下一个 url 和 cancel_url 就像http://example.com/fb.php?id=1 但它不起作用

4

1 回答 1

1

您需要将所需的参数添加到作为next或传递的 URL cancel_url。如果你想

另请注意,这req_perms被称为scope(很长一段时间)并且在您更改之前不会授予您的应用程序任何权限(除了基本权限,这不是真正的权限)。

下一个代码应该做你想做的事(我省略了不推荐使用/删除的参数,display默认情况下等于page):

$loginUrl = $facebook->getLoginUrl(array(
  'scope' => 'user_likes',
  'next' => 'http://site.com/fb.php?id=1',
  'cancel_url'=> 'http://site.com/fb.php?id=1'
));

getLoginUrl默认情况下将使用当前 URL nextcancel_url因此如果您需要在用户授权或取消您的授权步骤后访问当前页面,这可以很简单:

$loginUrl = $facebook->getLoginUrl(array(
  'scope' => 'user_likes'
));

请阅读文档以Facebook::getLoginUrl获取更多详细信息

于 2012-04-29T06:57:40.793 回答