10

我知道这里有一个用于检索故事 ID 列表的端点但我想知道是否可以获得对特定故事投票进行投票的用户列表?

故事上的数据似乎很少(即使您导出个人帐户数据),如果可以通过 API 访问,那就太好了。

此外,我不想将我的帐户设为企业帐户。

答案不必局限于使用API​​,我已经手动截屏列表并将屏幕截图连接在一起并使用文本识别来获取句柄,因此欢迎任何比数据输入更快的奇特解决方案。

提前谢谢你!

4

3 回答 3

3

是的,但不使用 Instagram 平台 API(通过https://www.instagram.com/developer),而是使用新的Instagram 图形 API

您的帐户也必须是企业帐户,否则您将无法访问端点。

端点是:/user/stories并且可以在以下文档中找到

我希望这对某人有所帮助,我无法找到一个好的答案,所以这是知识填充。

于 2019-03-27T09:50:10.290 回答
1

老实说,我不熟悉 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 字段表明它是前者,但您可以尝试一下,也许它会是您正在寻找的...

于 2019-04-04T12:04:24.763 回答
0

新的 Instagram Graph API,特别是/stories端点不提供高级媒体信息,例如投票或贴纸。甚至洞察端点都不包括此类交互洞察,只有常见的洞察加上exits(例如,它们甚至不提供profile_visits)。

于 2019-05-06T06:35:09.110 回答