首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取带有用户照片字段的评论

获取带有用户照片字段的评论
EN

Stack Overflow用户
提问于 2015-09-16 14:29:28
回答 2查看 2K关注 0票数 2

当我收到帖子的评论时

/comments

我得到评论,人的名字(和id),但不是他们的个人资料图片。

要恢复他的配置文件图片,我必须每次重复GET查询。

/picture?redirect=false

因此,如果有150个评论,我进行150个GET查询,只是为了检索配置文件照片的URL .

页面加载时间有时需要30秒.

是否可以在JSON中直接恢复配置文件照片的url字段以及所有注释?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-16 19:55:34

为什么首先需要检索配置文件图片URL?您已经有了用户ids,因此您可以直接使用https://graph.facebook.com/v2.4/{user_id}/picture作为img元素的src属性值-它将重定向到Facebook的CDN上的实际图像的正确位置。

还是需要实际的图像URL用于另一个目的,在网页…的范围之外??

在这种情况下,您可以使用API的场展开特性(因此不需要批处理请求):

代码语言:javascript
复制
/post_id/comments?fields=message,from{name,picture}

这将为您提供评论的内容,以及发表评论的用户的名称和配置文件图片URL。(如果需要更多字段,则必须将它们添加到列表中。)

票数 2
EN

Stack Overflow用户

发布于 2015-09-16 15:20:07

这可以通过批处理请求来完成,但这有点困难:

代码语言:javascript
复制
curl -k \
-F 'access_token={YOUR_USER_ACCESS_TOKEN}' \
-F 'include_headers=false' \
-F 'batch=[
  {
    "method":"GET",
    "name":"postcomments",
    "relative_url":"{post_id}?fields=comments.fields(from.fields(id)).limit(50)",
  }, 
  {
    "method":"GET",
    "name":"pics1",
    "relative_url":"?ids={result=postcomments:$.comments.data.[0:50:1].from.id}&fields=id,name,picture"
  }]' \
https://graph.facebook.com

使用有效的post id交换{post_id},用实际的用户访问令牌交换{YOUR_USER_ACCESS_TOKEN}

请注意,/?ids=端点一次只能用于50个ids,这意味着您需要对齐

代码语言:javascript
复制
  {
    "method":"GET",
    "name":"pics1",
    "relative_url":"?ids={result=postcomments:$.comments.data.[0:50:1].from.id}&fields=id,name,picture"
  }

在第一个查询中将数字设置为limit (极限/50)。此外,您还必须调整[0:50:1]部件,使其能够反映实际的“位置”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32611504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档