gpt4 book ai didi

python - 日期之间的 Instagram graph api 媒体帖子

转载 作者:太空狗 更新时间:2023-10-30 01:25:36 24 4
gpt4 key购买 nike

我尝试使用 'since''until' 从我管理的 Instagram 业务资料中检索上个月的媒体帖子,但它没有似乎工作正常,因为 API 返回的帖子超出了我选择的时间范围。

我正在使用以下字符串调用 API:

business_profile_id/media?fields=timestamp&since=2018-04-01&until=2018-04-30

虽然 Python 片段是这样的(使用来自 facebook-python-sdk 的相同 init 脚本)

import facebook

graph = facebook.GraphAPI(access_token)
profile = graph.get_object(user)
posts = graph.get_connections(profile['id'], 'media?fields=caption,permalink,timestamp&since=2018-04-01&until=2018-04-30')

get.connections 在哪里

def get_connections(self, id, connection_name, **args):
"""Fetches the connections for given object."""
return self.request(
"{0}/{1}/{2}".format(self.version, id, connection_name), args)

请求是

def request(
self, path, args=None, post_args=None, files=None, method=None):
"""Fetches the given path in the Graph API.
We translate args to a valid query string. If post_args is
given, we send a POST request to the given path with the given
arguments.
"""
if args is None:
args = dict()
if post_args is not None:
method = "POST"

# Add `access_token` to post_args or args if it has not already been
# included.
if self.access_token:
# If post_args exists, we assume that args either does not exists
# or it does not need `access_token`.
if post_args and "access_token" not in post_args:
post_args["access_token"] = self.access_token
elif "access_token" not in args:
args["access_token"] = self.access_token

try:
response = self.session.request(
method or "GET",
FACEBOOK_GRAPH_URL + path,
timeout=self.timeout,
params=args,
data=post_args,
proxies=self.proxies,
files=files)
except requests.HTTPError as e:
response = json.loads(e.read())
raise GraphAPIError(response)

headers = response.headers
if 'json' in headers['content-type']:
result = response.json()
elif 'image/' in headers['content-type']:
mimetype = headers['content-type']
result = {"data": response.content,
"mime-type": mimetype,
"url": response.url}
elif "access_token" in parse_qs(response.text):
query_str = parse_qs(response.text)
if "access_token" in query_str:
result = {"access_token": query_str["access_token"][0]}
if "expires" in query_str:
result["expires"] = query_str["expires"][0]
else:
raise GraphAPIError(response.json())
else:
raise GraphAPIError('Maintype was not text, image, or querystring')

if result and isinstance(result, dict) and result.get("error"):
raise GraphAPIError(result)
return result

基本上,我想获得某个时期的帖子,然后获得对每个帖子的见解。

有没有人遇到过这个问题?

最佳答案

不幸的是,此端点不支持 sinceuntil 参数,并且此端点仅支持基于游标的分页。完成我想做的事情的唯一方法是使用 API 响应中提供的 beforeafter 游标单独加载每一页结果。

关于python - 日期之间的 Instagram graph api 媒体帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50447751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com