我正在努力创建一个Facebook标签/应用程序,我正在努力创建具有非常特殊需求的文章:
现在,我之前使用过Javascript SDK,它非常简单。我试图在PHP中执行此操作,并在我的系统中抛出一些扳手。
这是我的基本设置:
在index.php中,我在文件顶部包含一个global.php,它处理整个facebook SDK include并且:
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
));
然后我根据已签名的请求($signed_request = $facebook->getSignedRequest();
signed_request['app_data']
“”关闭正在加载的内容。如果签名请求“app_data”设置为“flash_load”,则检查权限。如果权限通过,则加载Flash文件,否则请求权限。如果app_data!='flash_load',则会加载启动页面。
一般页面流程:
Page load
If( app_data == flash_load )
check permissions
if permissions
render flash
else
request permissions
else
render splash page
启动页面有一个“Go”按钮,它直接链接到页面标签(即:http://www.facebook.com/ {{{PAGE_NAME}}}?v = app _ {{{APP_ID}}}& app_data = flash_load)。我也有与Facebook登录站点网址@ https://developers.facebook.com/apps/ {{{APP_ID}}}
相同的网址设置所有这一切都运行良好,并且明确例外:
如果用户没有权限:
我该如何制作,以便 INITIAL 重新加载 AFTER 授予权限,加载Flash文件而不是启动?
我尝试将state
添加到redirect_uri
,但无法使用$_GET
,$_REQUEST
或$facebook->getSignedRequest();
我还尝试使用$_SERVER
来获取URL并解析出来,但这并不是指Facebook的URL。
附注:授予权限后第一次重新加载后的每次后续加载都应正常加载启动。
答案 0 :(得分:0)
当您要求权限时,您可以使用user_id
或oauth_token
来确定用户已经授权您的应用,并且您可以加载Flash文件而不是启动画面。
有关signed_request
字段的文档描述与
某些字段和值,例如user_id和oauth_token,只有在用户有logged into您的应用时才会传递。