您好我已经在facebook上制作了应用程序并且我要求用户允许使用
在墙上发布 <script type="text/javascript">
FB.init({
appId : 'my apps code is here',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
用户点击是,但我如何获取离线令牌?所以我每天都可以发布两个墙(它的星座应用所以需要每天在那里发布占星应用程序)
我需要在数据库中存储令牌,这样我每天都可以使用它。
我有facebook.php,它抓住那里的标记,但不知道哪一点抓住它 如果我乱搞东西,它将继续在每次刷新时添加令牌....我只是想在我的数据库中添加令牌然后如果他们刷新它不再添加它...
答案 0 :(得分:0)
要在用户墙上发布而未经用户自己确认,您需要获得 publish_stream 权限。但是,FB政策表示,无论他是否获得您的许可,您最好都应该提醒用户注意您即将发布的帖子。
获得此权限后,您可以使用应用令牌在用户墙上发帖。可以像这样检索此令牌:
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials
答案 1 :(得分:0)
获取用户令牌非常简单。您需要使用FB.login来确保用户已通过身份验证。在此过程中,您需要添加offline_access权限以确保发出持久令牌。
您可以从登录响应中获取令牌,例如。
FB.login(function(response){alert(response.authResponse.access_token);},{scope:'offline_access,publish_stream'});
如Martin Asenov所述,您应该确保您已经让用户就如何使用此令牌达成了知情同意。不这样做是一种简单的方法来禁止你的应用。