获取有关年龄限制Facebook粉丝页面的cron作业信息

Pec*_*ece 8 c# facebook facebook-graph-api facebook-access-token

我有一个应用程序在某个时间更新Facebook应用程序信息,让我们说一天一次,并将它们写入数据库.应用程序尝试从中获取信息的某些页面受到年龄限制,情况变得复杂.

到目前为止,我发现一种方法是使用用户access_token获取页面信息.

例如:https://graph.facebook.com/BrandCigarettes ? access_token = {user_access_token}

但这是不可能的,因为应用程序应该每天运行一次并且令牌有时间限制(默认为两小时)并且离线访问令牌不再可用.

有没有办法做到这一点?

Fab*_*nes 1

普通令牌通常会在两小时后过期,但使用该短期令牌,您可以请求新的长期令牌,该令牌的有效期为 60 天。

获得后,您只需将 user_id 和相应的扩展令牌保存在数据库中,因此,如果您只想获取某些页面的一些信息,则无需为应用程序的每个用户执行此操作,您只需要如果您想自己做,您可以在您的应用程序上创建一个私人区域,您每 59 天就会去那里更新令牌。

要将短期访问令牌交换为长期访问令牌,只需向图形 API 发出请求

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 
Run Code Online (Sandbox Code Playgroud)

在这个问题上,接受的答案解释了如何在不使用 C# facebook sdk 的情况下做到这一点

饲料离线访问

正如 CBroe 评论的那样,我还建议您阅读有关扩展令牌的 facebook 文档

https://developers.facebook.com/roadmap/offline-access-removal/