Wie funktioniert Instagrams GET / tags / <tag> / media / recent Pagination?

Ich versuche das zu benutzenFoto-Updates in Echtzeit API, um alle Bilder mit einem bestimmten Tag zu erhalten, wenn sie eingehen. Da Updates von dieser API wirklich nur Sie erzählenDas neuer inhalt existiert (aber nichtWas Wenn ich die Benachrichtigung erhalte, dass sich etwas geändert hat, frage ich mit meinem Tag nach den neuesten Medien.

Das Problem, das ich habe, ist, dass ich ständig doppelte Medien bekomme, die von dieser Abfrage zurückgegeben werden. Die Dokumentation besagt, dass diese API Paginierung ausführt, aber ich kann es überhaupt nicht zum Laufen bringen.

Die DokumentationHier sagt zu benutzenmin_id undmax_id In Ihrer Abfragezeichenfolge, um die Paginierung zu steuern, heißt es jedoch:

MIN_ID - Gibt Medien vor dieser min_id zurück.

MAX_ID - Medien nach dieser max_id zurückgeben.

Dies scheint rückwärts zu sein (normalerweise sollte min Elemente über dem Minimum und max Elemente unter dem Maximum zurückgeben, sodass bei Angabe von beiden ein begrenzter Bereich angezeigt wird).

Der tatsächliche JSON, den ich von meinen Abfragen erhalte, enthält ein Paginierungsobjekt wie das folgende:

"pagination":  {
    "next_max_tag_id": "1387272337517",
    "deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead",
    "next_max_id": "1387272337517",
    "next_min_id": "1387272345517",
    "min_tag_id": "1387272345517",
    "next_url": "https://api.instagram.com/v1/tags/cats/media/recent?access_token=xxx&max_tag_id=1387272337517"
}

Der in der angegebene Parameternext_url Eigentum istmax_tag_idnichtmax_id wie die Dokumentation sagt.

Es gibt auch eine Verfallswarnung, die dies besagtnext_max_id undmin_id sind veraltet, aber da es Eigenschaften im Paginierungsobjekt mit solchen Namen gibt, weiß ich nicht, ob die Abfrageparameter oder die Objekteigenschaften diejenigen sind, die veraltet sind.

Ich würde denken, dass es die Eigenschaften bedeutet, weil die Abfragezeichenfolge nie einen Parameter von verwendetnext_max_id, aber dann sagt die Verfallsmeldung zu verwendenmin_tag_id undmax_tag_id und es gibt keinemax_tag_id Eigenschaft auf dem Paginierungsobjekt (nur anext_max_tag_id).

Ungeachtet all dieser widersprüchlichen Dokumentationen scheint es egal zu sein, was ich in meiner Abfragezeichenfolge übergebe - ich erhalte weiterhin Wiederholungsmedien in nachfolgenden Abfragen. Kann mir jemand helfen, diese API zu verstehen? Ich möchte nur Medien mit Tags erhalten, die seit meiner letzten Abfrage neu sind.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage