it-swarm.com.de

Wie schließe ich Retweets und Antworten in einer Such-API aus?

Wie schließe ich Retweets und Antworten in einer Such-API aus?

Ich versuche, die Feeds über die Such-API von Twitter abzurufen. Als Ergebnis erhalte ich auch Antworten und Retweets.

Also möchte ich Antworten ausschließen und ausschließen.

Wie es geht, hilft mir jemand.

Das ist meine URL:

https://api.Twitter.com/1.1/search/tweets.json?q=from:rioferdy5&count=20&result_type=recent

10
rakesh r

Es gibt keine direkte Möglichkeit, Retweets und Antworten von der API auszuschließen. Sie können jedoch die Ergebnisse herausfiltern, die Sie erhalten haben.

Für Antworten können Sie überprüfen, ob das von api erhaltene Feld in_reply_to_status_id null ist. Dies bedeutet, dass es keine Antwort ist. Andernfalls, wenn es eine ID enthält, dann eine Antwort.

Wenn Sie Beiträge erhalten möchten, die noch nie getwittert wurden, können Sie nach retweet_count = 0 suchen, oder wenn Sie Beiträge wünschen, die von Ihrem authentifizierten Benutzer nicht erneut getwittert wurden, können Sie nach retweeted = false suchen

3
Hitesh

Ich glaube, das obige ist falsch, Sie können Filter in der Such-API verwenden, aber die Dokumentation ist sehr schlecht (nicht vorhanden?).

Ihre Anfrage würde zu:

?q=from:rioferdy AND -filter:retweets AND -filter:replies&count=20&result_type=recent

Weitere Tipps zum Filtern erhalten Sie hier: So meistern Sie Twitter: Grundlegende boolesche Operatoren und Filter

39
Paul Thomas

Alte Post, aber die Leute könnten noch darüber stolpern.

Die meisten Abfrageoperatoren sind hier dokumentiert: https://dev.Twitter.com/rest/public/search

Bei der search/tweets -Methode können Sie jedoch auch exclude:replies und/oder exclude:retweets angeben, um Antworten und Retweets aus dem Ergebnis herauszufiltern.

Testen Sie es einfach im API Console Tool und überzeugen Sie sich selbst.

Bonus: Ein weiterer undokumentierter Abfrageoperator ist filter:verified, um Tweets von verifizierten Benutzern zu erhalten.

Beispielabfrage: cats filter:Vine filter:verified exclude:replies exclude:retweets

11
phuc77

Nach der offiziellen Dokumentation

Übergeben Sie den folgenden Parameter exclude_replies=true

2
ex0b1t

Sehr späte Antwort, wie alle anderen, aber ich denke, die zweite Antwort von Paul sollte die "richtige" sein. Ich wünschte, Twitter würde dies besser dokumentieren oder bekannter machen, aber es gibt eine Menge von Suchfiltern, die Sie selbst mit ihrer Standard-API im Jahr 2018 durchführen können.

https://developer.Twitter.com/de/docs/tweets/rules-and-filtering/overview/standard-operators

Hier eine ziemlich ausführliche Liste von Beispielen :) und Retweets liegen irgendwo in der Mitte.

-filter:retweets
1
Kehran

Dies ist zulässig, wie in der offiziellen Dokumentation dokumentiert

puppy -filter:retweets  containing “puppy”, filtering out retweets

https://developer.Twitter.com/de/docs/tweets/rules-and-filtering/overview/standard-operators.html

1
Michael C

Entschuldigung, ich bin zu spät zur Party hier. Ich stimme mit Hitesh darin überein, dass sie keine Möglichkeit bieten, Retweets nativ auszuschließen, aber jeder Tweet, der ein Retweet ist, hat ein Retweetobjekt im Json zurückgegeben. Sie können also Ihre Tweets durchlaufen und alle mit einem retweeted_status typeof 'object' ausschließen (was bedeutet, dass es sich um einen Retweet von einer anderen Person handelt) oder diejenigen, die über einen Typ von 'undefined' verfügen (was bedeutet, dass sie ursprünglich sind). Das Problem mit retweet_count=0 ist, dass jemand wie @pattonoswalt Retweets für alle seine Tweets hat. Die Zählung wird also niemals Null sein, obwohl es sich um Originale handelt.

Sie könnten so etwas in einer Schleife verwenden:

if(typeof tweets[i].retweeted_status === 'object') {tweets.splice(i,1);}

oder

if(typeof tweets[i].retweeted_status !== 'undefined') {tweets.splice(i,1);}

1
JeremyS

ja, Sie können die Retweets während der Such-API ausschließen, indem Sie -RT in die Suchzeichenfolge (q) einfügen. ZB: search?q="#demo -RT"

0