gpt4 book ai didi

javascript - 检查用户是否喜欢页面

转载 作者:行者123 更新时间:2023-11-28 13:52:46 25 4
gpt4 key购买 nike

我在这里阅读了很多关于这个问题的相关主题,但我仍然无法做这样的事情

http://www.facebook.com/Dominos/app_252492331452398

下面是我正在使用的代码

这是我的问题。

  • 所以我已经登录到我的 Facebook 页面
  • 如果我访问上面的多米诺骨牌网址,我可以喜欢或不喜欢该页面。多米诺骨牌内容会根据我是否喜欢该页面而变化。但他们并没有要求我们重新登录
  • 在下面的代码中,尽管我已经登录了我的 Facebook。在单击登录按钮并在提供的弹出窗口中再次登录之前,我无法访问我的用户信息。我怎样才能像多米诺骨牌一样跳过这一步。我收到的 response.status 为 not_authorized

    • 我知道登录后,我可以执行一些操作,例如检查用户是否喜欢我的页面

    var query = FB.Data.query('从page_fan中选择page_id,其中uid='+response.authResponse.userID+'和page_id ='+PAGE_ID);

这是代码

<!DOCTYPE html>
<html>
<head>
<title>Fbjquery</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="fb-root"></div>
<h2>Updated JS SDK example</h2><br />
<div id="user-info"></div>
<p><button id="fb-auth">Login</button></p>


<script>
window.fbAsyncInit = function() {
FB.init({ appId: 'App_ID',
status: true,
cookie: true,
xfbml: true,
oauth: true});

function updateButton(response) {
var button = document.getElementById('fb-auth');
console.log("inside update button "+response.authResponse);
if (response.authResponse) {
console.log(response.authResponse);
//user is already logged in and connected
var userInfo = document.getElementById('user-info');
FB.api('/me', function(response) {
userInfo.innerHTML = '<img src="https://graph.facebook.com/'
+ response.id + '/picture">' + response.name;
button.innerHTML = 'Logout';
});
button.onclick = function() {
FB.logout(function(response) {
var userInfo = document.getElementById('user-info');
userInfo.innerHTML="";
});
};
} else {
//user is not connected to your app or logged out
button.innerHTML = 'Login';
button.onclick = function() {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
var userInfo = document.getElementById('user-info');
userInfo.innerHTML =
'<img src="https://graph.facebook.com/'
+ response.id + '/picture" style="margin-right:5px"/>'
+ response.name;
});
} else {
//user cancelled login or did not grant authorization
}
}, {scope:'email'});
}
}
}

// run once with current status and whenever the status changes

FB.getLoginStatus(updateButton);
FB.Event.subscribe('auth.statusChange', updateButton);


};

(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol
+ '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());

</script>

</body>
</html>

最佳答案

您也可以通过编程方式执行此操作,而不必仅在选项卡上下文中执行此操作。

请注意,它需要您在 O-Auth 连接对话框中向用户请求“user_likes”权限。

此代码片段将测试某人当前是否喜欢某物:

    FB.api('/me/likes/MY_PAGE_ID', {limit: 1}, function(r) { 
if (r.data.length == 1) {
//do stuff when the user is a liker
} else {
//do stuff when the user is not currently a liker
}
});

如果你想捕获用户点击点赞按钮时的事件,那么你可以使用 FB.Event.subscribe:

    FB.Event.subscribe('edge.create',
function(response) {
//Do stuff when the user just clicked a "like" button
}
);

关于javascript - 检查用户是否喜欢页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com