2016-08-02 17 views
9

Warum Textfeld Wert abgeschnitten ist und wie kann ich vollständigen Wert erhalten. Ab jetzt bin ich versucht, wie Textfeld Wert zu erhalten unterTwitter api Textfeld Wert wird abgeschnitten

do { 
     if let responseObject = try NSJSONSerialization.JSONObjectWithData(response, options: []) as? [String:AnyObject], 
      arrayStatuses = responseObject["statuses"] as? [[String:AnyObject]] { 
       let arrTweets:NSMutableArray = NSMutableArray() 
       for status in arrayStatuses { 
        let text = status["text"]! 
        print(status["text"]!) 
       } 
     } 
} 

Ausgang ist

RT @WarfareWW: # Russland/# Indien startet der Kreuzfahrt BrahMos halten können Raketen von Su-30MKI vs Sea/grnd trgts am Ende dieses Jahres https: // ...

drei Punkte am Ende der Zeile. Ich muss den kompletten Test ohne Abschneiden drucken.

Twitter Probe Sucher JSON Daten

{ 
     "created_at": "Mon Aug 01 08:07:43 +0000 2016", 
     "id": 760024194079916032, 
     "id_str": "760024194079916032", 
     "text": "RT @khalidasopore: #KEXIT #KASHEXIT #KashmirKillings #Inida #Pakistan Just trend it my dear Indians to save #Kashmir from Pak Goons https:/…", 
     "truncated": false 
} 
+0

können Sie uns Beweis, dass Sie richtige Zeichenfolge als Antwort erhalten, zeigen, dass die Anforderungsantwort in Web oder etwas –

+0

'UILabel's wird Text abgeschnitten, wenn sie eine feste Höhe und Breite sind, müssen Sie möglicherweise auch' Etikett setzen .numberOfLines = 0' - Andernfalls können Sie nach dem Kommentar von @ Lu_ ein json-Beispiel angeben. – Wez

+0

es ist nicht nur ein Problem von UILabel sogar print() schneidet Zeichenfolge ab –

Antwort

14

Das Twitter-API vor kurzem geändert wurde, neue Regeln zu unterstützen, in Bezug auf die 280 Zeichen.

  1. Um den vollständigen Text des tweet zu erhalten, fügen Sie Parameter tweet_mode mit Wert extended auf Ihre Anfrage Parameter.
  2. Feld text in der JSON-Antwort wird von full_text

Mehr Infos hier ersetzt: https://dev.twitter.com/overview/api/upcoming-changes-to-tweets

+1

In einer Java Spark Streaming-Anwendung, wo würde ich die 'tweet_mode' Parameter setzen? Ich habe eine 'FilterQuery', die mit einem Listener funktioniert. @Ely – sirdan

0

Der Status ist in diesem Beispiel ein retweet, und der Text für Retweets wird abgeschnitten zu 140 Zeichen selbst nach dem Einschließen tweet_mode=extended. Der vollständige Text des ursprünglichen Tweets befindet sich im Feld retweeted_status der JSON-Antwort. Hier ist, was Sie wollen:

let text = status["retweeted_status"]["full_text"].

Beachten Sie, dass Sie in Ihrer Anfrage immer tweet_mode=extended enthalten sollten.