如果我使用他们的API,如何反映某些外部来源(例如:Facebook,LinkedIn等)的用户数据的变化?


所以我使用 LinkedIn 的 API

作为用户登录我的 Android 应用程序的一种方式,但我认为这个问题可以推广到使用任何社交网络的 API 并且也不是真正特定于 Android。无论如何。。。

当我调用LinkedIn的API时,我会在他们登录后获得一些用户数据 - 特别是他们的姓名,电子邮件,技能,个人资料描述等。我知道当用户在LinkedIn网站上编辑他的个人资料(例如,添加新技能)时,其中一些数据可能会发生变化。

现在,我希望这些更改尽快反映在我的应用程序中。我能想到的就是在用户每次返回应用程序时简单地调用 API,获取数据并将其替换为我上次调用时存储的任何内容。

但这似乎有问题,因为对于许多用户来说,他们可能很少在LinkedIn上对他们的个人资料进行任何更改......因此,每次用户打开应用程序时拨打电话似乎都是浪费时间。但是,如果我以更大的间隔(比如每隔几天)拨打电话,那么我就有可能无法反映某些人可能做出的任何更改。

所以我想知道是否有任何替代解决方案来拨打所有这些电话。这样的API是否像Facebook,Twitter,LinkedIn和其他社交网络的API有办法收到更改通知(或者是否有其他具有此功能的库)?

Facebook确实有一些类似于你正在寻找的东西:https://developers.facebook.com/docs/graph-api/reference/v2.2/app/subscriptions/

可以选择订阅对 User 对象的更新,每当发生更改时,它们都会调用你提供给它们的终结点。

据我所知,LinkedIn不提供类似的功能。但是,当您打开应用程序时,我不会过多强调拨打此电话。只需一次调用即可检索少量数据。当然,您希望确保在调用失败时应用程序不会加载失败 - 您只是希望这意味着信息不会更新。

应用是独立的,还是有服务器组件?另一种选择是让服务器代表用户进行此调用。

最新更新