页面选项卡中的Facebook应用程序 - 如何获取回调URL

Byr*_*yne 5 php facebook

我在这里遇到了一些问题.

当您将应用加载到选项卡并请求权限时,您需要向其发送回调网址.

回调网址是一项任务,因为在页面http://www.facebook.com/pages/<PAEG NAME>/<PAGE ID>?sk=app_<APP ID>上获取的唯一方法<PAGE ID>是将其从签名请求中删除:

parse_signed_request($_REQUEST['signed_request'], $APPSecret)
Run Code Online (Sandbox Code Playgroud)

只有在用户授予权限后才能执行此操作.并且你需要ID才能获得<PAGE NAME>,这基本上意味着我无法构建回调网址...

当页面加载然后重新加载页面时,是否有人知道更好的方式或不同的方式立即询问权限?

ifa*_*our 5

看来你有点困惑,这里有一些观点:

  1. 您的回调(重定向)网址应该是您在应用程序设置中指定的标签网址的相对(或相同).就像是:

    http://www.example.com/canvas/tab/index.php
    
    Run Code Online (Sandbox Code Playgroud)

    所以不需要页面ID.

  2. 即使到页面ID 没有必要,你还是会接受它(即使没有授权)在signed_request!仔细
    阅读Facebook文档相关部分:

当用户选择您的页面选项卡时,您将收到signed_request 带有一个附加参数的参数page.此参数包含一个JSON对象id(当前页面的页面ID) ,(admin 如果用户是页面的管理),以及liked(如果用户喜欢的页面).与Canvas页面一样,在用户授权您的应用程序之前,您不会收到应用程序可访问的所有用户信息 signed_request.

所以你不会收到的是USER ID,而不是页面ID,因为管理员" 允许 "了应用程序,所以它很明显.

希望这能为你解决问题.