Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook邀请用户使用应用程序';s页_Javascript_Facebook_Facebook Page - Fatal编程技术网

Javascript Facebook邀请用户使用应用程序';s页

Javascript Facebook邀请用户使用应用程序';s页,javascript,facebook,facebook-page,Javascript,Facebook,Facebook Page,我有一个Facebook应用程序,我已经添加到Facebook页面。我想允许用户邀请朋友打开应用程序进入页面,并在那里与应用程序交互 我可以邀请朋友使用以下应用程序: FB.ui({ method: 'apprequests', message: '...' }); 但实际上我想邀请他们访问应用程序所在的页面,而不是应用程序本身 我可以允许用户使用类似于:https://www.facebook.com/dialog/send?app_id=...这将允许我添加到Fa

我有一个Facebook应用程序,我已经添加到Facebook页面。我想允许用户邀请朋友打开应用程序进入页面,并在那里与应用程序交互

我可以邀请朋友使用以下应用程序:

FB.ui({ method: 'apprequests',
        message: '...'
     });
但实际上我想邀请他们访问应用程序所在的页面,而不是应用程序本身

我可以允许用户使用类似于:
https://www.facebook.com/dialog/send?app_id=...
这将允许我添加到Facebook页面的链接,但不知道是否有更好的方法


我特别喜欢
apprequests
ui,它为所有朋友显示复选框。是否有任何方法可以使用此ui,但可以推广页面而不是应用程序?

由于应用程序是唯一的,但可以插入多个页面,因此官方不允许邀请您的朋友直接访问您的页面

你需要做的是检查调用你的应用程序的上下文。我不知道您是否使用PHP作为后端,但需要一些服务器端代码

您必须查找Facebook向您发送的签名请求,以及其中是否有页面。然后在会话中保存此上下文

如果您熟悉PHP,这可能会帮助您:

$signed_request = $fb->getSignedRequest();

if (isset($_REQUEST['signed_request'])){
    $context = (isset($signed_request['page'])) ? 'tab' : 'app';
    $_SESSION['fb_context'] = $context;
}
else {
    $context = isset($_SESSION['fb_context']) ? $_SESSION['fb_context'] : 'app';
}
如果您发现它在应用程序上下文中,您可以重定向到指定的选项卡url

if ($context == 'app') {
    header('Location: ...');
}