有没有办法从 Instagram 故事中检索投票选民名单?
Is there any way of retrieving a list of poll voters from Instagram stories?
我知道有一个端点 here 用于检索故事 ID 列表,但我想知道是否可以获取对特定故事投票投票的用户列表?
关于故事的数据似乎很少(即使您导出个人帐户数据),如果可以通过 API.
访问,那就太好了
我也不想将我的帐户设为企业帐户。
答案不必局限于使用 API,我已经手动截屏列表并将屏幕截图连接在一起并使用文本识别来获取句柄,所以任何更快的奇特解决方案欢迎输入数据。
提前致谢!
是,但不使用 Instagram 平台 API(通过 https://www.instagram.com/developer) but rather the new Instagram Graph API
您的帐户也必须是企业帐户,否则您将无法访问端点。
端点是:/user/stories
,可以在下面的documentation
中找到
我希望这对某人有所帮助,我找不到好的答案所以这里是知识填充。
老实说我对 Instagram 不熟悉 API,
我试图在我的故事中找到 AJAX 请求,发现它是这样的:
https://www.instagram.com/graphql/query/?query_hash=<_QUERY_HASH_>&variables=%7B%22reel_ids%22%3A%5B%22<_USER_ID_>%22%5D%2C%22tag_names%22%3A%5B%5D%2C%22location_ids%22%3A%5B%5D%2C%22highlight_reel_ids%22%3A%5B%5D%2C%22precomposed_overlay%22%3Afalse%2C%22show_story_viewer_list%22%3Atrue%2C%22story_viewer_fetch_count%22%3A50%2C%22story_viewer_cursor%22%3A%22%22%7D
'variables' 只是 URL 编码:
{"reel_ids":["<_USER_ID_>"],"tag_names":[],"location_ids":[],"highlight_reel_ids":[],"precomposed_overlay":false,"show_story_viewer_list":true,"story_viewer_fetch_count":50,"story_viewer_cursor":""}
请注意,您需要将 <_USER_ID_> 替换为您的用户 ID,而对我而言,<_QUERY_HASH_> 是一些常量字符串,
然后,可以使用 Python 小程序解析响应 JSON:
import json
def parse_instagram_json(json_as_str):
data = json.loads(json_as_str)
if ("data" not in data) or ("reels_media" not in data["data"]):
print "Invalid JSON"
return
for media in data["data"]["reels_media"]:
for media_item in media["items"]:
print "You have {} views".format(media_item["edge_story_media_viewers"]["count"])
viewer = []
for v in media_item["edge_story_media_viewers"]["edges"]:
viewer.append("{} ({})".format(v["node"]["username"], v["node"]["id"]))
if 0 < len(viewer):
print ", ".join(viewer)
我不确定我得到的是观众名单还是选民名单,
JSON 字段表明它是前者,但您可以尝试一下,也许它就是您要找的...
新的 Instagram Graph API,特别是 /stories
端点不提供高级媒体信息,例如投票或贴纸。甚至见解终点也不包括此类交互见解,只有常见的见解加上 exits
(例如,他们甚至不提供 profile_visits
)。
我知道有一个端点 here 用于检索故事 ID 列表,但我想知道是否可以获取对特定故事投票投票的用户列表?
关于故事的数据似乎很少(即使您导出个人帐户数据),如果可以通过 API.
访问,那就太好了我也不想将我的帐户设为企业帐户。
答案不必局限于使用 API,我已经手动截屏列表并将屏幕截图连接在一起并使用文本识别来获取句柄,所以任何更快的奇特解决方案欢迎输入数据。
提前致谢!
是,但不使用 Instagram 平台 API(通过 https://www.instagram.com/developer) but rather the new Instagram Graph API
您的帐户也必须是企业帐户,否则您将无法访问端点。
端点是:/user/stories
,可以在下面的documentation
我希望这对某人有所帮助,我找不到好的答案所以这里是知识填充。
老实说我对 Instagram 不熟悉 API,
我试图在我的故事中找到 AJAX 请求,发现它是这样的:
https://www.instagram.com/graphql/query/?query_hash=<_QUERY_HASH_>&variables=%7B%22reel_ids%22%3A%5B%22<_USER_ID_>%22%5D%2C%22tag_names%22%3A%5B%5D%2C%22location_ids%22%3A%5B%5D%2C%22highlight_reel_ids%22%3A%5B%5D%2C%22precomposed_overlay%22%3Afalse%2C%22show_story_viewer_list%22%3Atrue%2C%22story_viewer_fetch_count%22%3A50%2C%22story_viewer_cursor%22%3A%22%22%7D
'variables' 只是 URL 编码:
{"reel_ids":["<_USER_ID_>"],"tag_names":[],"location_ids":[],"highlight_reel_ids":[],"precomposed_overlay":false,"show_story_viewer_list":true,"story_viewer_fetch_count":50,"story_viewer_cursor":""}
请注意,您需要将 <_USER_ID_> 替换为您的用户 ID,而对我而言,<_QUERY_HASH_> 是一些常量字符串,
然后,可以使用 Python 小程序解析响应 JSON:
import json
def parse_instagram_json(json_as_str):
data = json.loads(json_as_str)
if ("data" not in data) or ("reels_media" not in data["data"]):
print "Invalid JSON"
return
for media in data["data"]["reels_media"]:
for media_item in media["items"]:
print "You have {} views".format(media_item["edge_story_media_viewers"]["count"])
viewer = []
for v in media_item["edge_story_media_viewers"]["edges"]:
viewer.append("{} ({})".format(v["node"]["username"], v["node"]["id"]))
if 0 < len(viewer):
print ", ".join(viewer)
我不确定我得到的是观众名单还是选民名单,
JSON 字段表明它是前者,但您可以尝试一下,也许它就是您要找的...
新的 Instagram Graph API,特别是 /stories
端点不提供高级媒体信息,例如投票或贴纸。甚至见解终点也不包括此类交互见解,只有常见的见解加上 exits
(例如,他们甚至不提供 profile_visits
)。