我创建了一个页面选项卡应用程序,我在应用程序设置中为Auth Dialog设置了所有参数。 现在,当我通过我的应用程序发送好友请求,并且我的朋友点击应用程序请求时,他能够看到描述应用程序的身份验证框和请求的权限等。 但是,如果有人访问我已添加应用程序的页面,并从那里点击应用程序,它会直接将用户带到页面选项卡而不显示身份验证框。 这是应该如何从页面工作?是否可以显示从页面进入应用程序的用户的身份验证框?
其次,我添加了一个多朋友选择器,默认情况下会在弹出窗口中按预期打开。 是否可以在页面本身而不是弹出窗口中显示它? 我尝试添加display:'page'选项,但它有效。
我使用了相同的代码:https://developers.facebook.com/docs/reference/dialogs/requests/
...
<body>
<div id="fb-root"></div>
<p>
<input type="button"
onclick="sendRequestToRecipients(); return false;"
value="Send Request to Users Directly" />
<input type="text" value="User ID" name="user_ids" />
</p>
<p>
<input type="button"
onclick="sendRequestViaMultiFriendSelector(); return false;"
value="Send Request to Many Users with MFS" />
</p>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : XXXXXXXXXXX,
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk';
if (d.getElementById(id)) {
return;
}
js = d.createElement('script');
js.id = id;
js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<script>
function sendRequestToRecipients() {
var user_ids = document.getElementsByName("user_ids")[0].value;
FB.ui({method: 'apprequests',
message: 'My Great Request',
to: user_ids,
}, requestCallback);
}
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'My Great Request'
}, requestCallback);
}
function requestCallback(response) {
// Handle callback here
}
</script>
...
非常感谢这方面的任何帮助。
答案 0 :(得分:0)
它是如何在页面上工作的?
是。当直接从页面访问应用程序时,经过身份验证的引荐不起作用。
是否可以显示从页面进入应用程序的用户的身份验证框?
当然 - 分析signed_request参数,并做出相应的反应(意思是,自己显示auth对话框,服务器端或客户端)。