def _getFeeds(self, user, time, fields=None):
returnvalue = []
data = {
'access_token': user.access_token,
'fields': fields,
'limit': 1,
}
fb_request_url = Config.get("API_BASE_URI") + "/me/feed"
fb_user_last_post_id = user.last_post_id
fb_user_last_post_time = user.last_post_time
try:
resp = requests.get(fb_request_url, params=data)
break_loop = False
while resp.ok and not break_loop:
for feed in resp.json()['data']:
log.debug(feed)
if feed['id'] == user.last_post_id \
or parse_datetime(feed['created_time']) <= user.last_post_time \
or feed['id'] == fb_user_last_post_id:
break_loop = True
break
returnvalue.append(feed)
if fb_user_last_post_time < parse_datetime(feed['created_time']):
fb_user_last_post_id = feed['id']
fb_user_last_post_time = parse_datetime(feed['created_time'])
resp = requests.get(resp.json()['paging']['next'], timeout=5.00)
except requests.exceptions.RequestException:
pass
user.last_post_id = fb_user_last_post_id
user.last_post_time = fb_user_last_post_time
user.save()
return returnvalue[::-1]
评论列表
文章目录