我在Facebook中使用静态HTML Iframe来编写Tab的基本代码。 在使用我的Facebook登录进行完全测试后,当我尝试从其他测试用户的ID访问Tab时,它无法正常工作。
我将其中一个测试用户的角色更改为管理员,令我惊讶的是,弹出窗口出现了"静态HTML:iframe标签将收到以下信息:您的电子邮件地址和照片" 当角色不是经理/管理员时,此弹出窗口不会出现。
请指导如何解决非管理员/管理员用户的弹出窗口问题。我了解只有在获得必要的权限后,我的标签才能正常运行。
请注意:我使用静态
JavaScript代码如下:
// Load the SDK asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
window.fbAsyncInit = function() {
FB.init({
appId : '190322544333196',
status : true,
cookie : true,
xfbml : true
});
FB.Event.subscribe('auth.authResponseChange', function(response)
{
if (response.status === 'connected')
{
document.getElementById("message").innerHTML += "<br>Connected to Facebook";
//SUCCESS
}
else if (response.status === 'not_authorized')
{
document.getElementById("message").innerHTML += "<br>Failed to Connect";
//FAILED
} else
{
document.getElementById("message").innerHTML += "<br>Logged Out";
//UNKNOWN ERROR
}
});
};
function Login()
{
FB.login(function(response) {
if (response.authResponse)
{
document.getElementById("message").innerHTML += "<br>Initiated";
getUserInfo();
} else
{
console.log('User cancelled login or did not fully authorize');
}
},{scope: 'email,user_photos'});
}
function getUserInfo() {
FB.api('/me', function(response) {
...other basic code to access Name, UserID etc...
}