web-dev-qa-db-ja.com

Twitter APIテキストフィールドの値は切り捨てられます

テキストフィールドの値が切り捨てられる理由と完全な値を取得する方法今のところ、私は以下のようなテキストフィールド値を取得しようとしています

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"]!)
               }
       }
}

出力は

RT @WarfareWW:#Russia /#Indiaは、今年末にSu-30MKI vs海/ grnd trgtsからBrahMos巡航ミサイルの発射を保持する可能性がありますhttps://…

行末に3つのドット。切り捨てることなく完全なテキストを印刷する必要があります。

Twitterサンプルの検索結果JSONデータ

{
      "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
}
37
shesh nath

Twitter APIは最近変更され、280文字の制限に関する新しいルールをサポートするようになりました。

  1. ツイートの全文を取得するには、値extendedのパラメーターTweet_modeをリクエストパラメーターに追加します。
  2. JSON応答のフィールドtextfull_textに置き換えられました

詳細はこちら: https://dev.Twitter.com/overview/api/upcoming-changes-to-tweets

74
Ely

この例のステータスはリツイートです。リツイートのテキストは、Tweet_mode=extendedを含めた後でも140文字に切り捨てられます。元のツイートの全文は、JSON応答のretweeted_statusフィールドにあります。欲しいものは次のとおりです。

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

リクエストにはTweet_mode=extendedを含める必要があることに注意してください。

15
pterry26