我有一个需求需要下载和存储用户的Facebook图片,因为我们将其用作他们在系统中的用户账户图片,就像许多其他应用程序一样。问题是我不想每次获取活动会话时都覆盖它。我更想做的是检查一些东西,看看用户是否在上次检索它后更新了他们的个人资料图片。如果是这样,我显然希望更新我们系统中的图片以匹配Facebook上的当前图片。
我的问题是:是否有更新的时间戳或其他东西可以查看用户的Facebook个人资料图片何时更改?还有更好的方法吗?
更新:
参照@Nachi的建议,我向“/me/picture”图形端点发出了Graph API请求,并可以成功地获取到用户的个人资料图片,但是头部没有返回结束标记,请参见下面的代码。
我的问题是:是否有更新的时间戳或其他东西可以查看用户的Facebook个人资料图片何时更改?还有更好的方法吗?
更新:
参照@Nachi的建议,我向“/me/picture”图形端点发出了Graph API请求,并可以成功地获取到用户的个人资料图片,但是头部没有返回结束标记,请参见下面的代码。
Request.newGraphPathRequest(Session.getActiveSession(),"/me/picture",new Request.Callback() {
@Override
public void onCompleted(Response response) {
Map<String,List<String>> headers = response.getConnection().getHeaderFields();
for (Map.Entry<String,List<String>> entry : headers.entrySet()) {
Log.d(LOG_TAG,entry.getKey()+": "+entry.getValue().toString());
}
Log.d(LOG_TAG,response.getRawResponse());
Log.d(LOG_TAG,response.getGraphObject().toString());
}
}
).executeAsync();
更新2
我把图形请求的结尾标签改为只是“/me”,这是公共个人资料,我成功获得了ETag。