web-dev-qa-db-ja.com

Instagramのストーリーから投票者のリストを取得する方法はありますか?

ストーリーIDのリストを取得するためのエンドポイント here があることはわかっていますが、特定のストーリー投票に投票したユーザーのリストを取得できるかどうか疑問に思っていましたか?

ストーリーに関するデータは非常に少ないようです(個人のアカウントデータをエクスポートした場合でも)。APIを介してアクセスできると便利です。

また、自分のアカウントをビジネスアカウントにしたくありません。

回答はAPIの使用に限定する必要はありません。リストを手動でスクリーンショットを取り、スクリーンショットを結合し、テキスト認識を使用してハンドルを取得したので、データ入力よりも高速な優れたソリューションを歓迎します。

よろしくお願いします!

9
Samir Chahine

正直なところ、私は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%3true %2C%22story_viewer_fetch_count%22%3A50%2C%22story_viewer_cursor%22%3A%22%22%7D

「変数」は、以下の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フィールドは、それが前者であることを示唆していますが、試してみることができ、おそらくそれがあなたが探していたものになるでしょう...

1
Yogev Neumann