我的网站使用Facebook应用程序向用户发送通知。
在我的一个页面上,用户可以订阅或取消订阅(取决于他是否订阅)。
因此,我想检查用户是否正在使用我的应用程序。我该怎么做?我想我可以做以下事情来看看应用程序是否可以访问数据:
FacebookClient c = new FacebookClient(accessTokenClaim.Value);
c.AppId = MYAPPID;
c.AppSecret = MYAPPSECRET;
dynamic access = c.Get("/me/permissions");
if(access != null)
{
//has access
}
然而,我不喜欢的一点是,我必须使用访问令牌来查看用户是否安装了应用程序。
我宁愿不使用访问令牌,因为它们往往会过期。
在我的数据库中,我存储了所有网站用户的Facebook用户ID。因此,如果我能做以下事情,那将是理想的:
/明白吗?appinstalled&userid=userid
对此,最好的方法是什么?
要获取当前用户ID-将其与数据库进行比较-您必须使用访问令牌访问FB图API。所以我认为如果不使用FB访问令牌,就无法找到任何关于用户的信息。编辑:不要担心令牌过期,FB SDK会为您处理。即它将由SDK自动刷新。此处:
Facebook的官方SDK为您管理代币的使用寿命。什么时候使用iOS、Android或我们的JavaScript SDK,SDK将处理制作请确保在令牌过期之前对其进行刷新。
和
网络上的访问令牌通常有大约两个小时的使用寿命,但是将在需要时自动刷新。如果你想使用访问寿命更长的web应用程序的令牌,尤其是服务器端,您需要生成一个长寿命令牌。通常是一种长寿命代币持续约60天。