Fabric Twitterに改行が投稿できない

ちょっとTwitterに文字列を投稿したかっただけなのですが、

\<>{}などの記号が入っているとツイートを投稿できないようなんですよ…

インジェクション対策?

こんな感じなのですが、


func postTweet(){

var clientError : NSError?

// \<>{}

let tweet = tweetTextView.text//.stringByReplacingOccurrencesOfString("\n", withString: "\\n")

let param : [NSObject : AnyObject] = ["status":tweet]

print(param)

// let param : [NSObject : AnyObject] = ["status":"test"]

let request : NSURLRequest? = client.URLRequestWithMethod("POST", URL:"https://api.twitter.com/1.1/statuses/update.json", parameters: param, error: &clientError)

if request != nil {

client.sendTwitterRequest(request!, completion: {response, data, connectionError in

if(connectionError == nil){

do{

/*let json : AnyObject? = */try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers)

// print(json)

}catch(let jsonError){

print("updateJsonError: \(jsonError)")

}

}else{

print("updateConnectionError: \(connectionError!.localizedFailureReason)")

}

});

}

}

最初に気づいたのは改行を投稿した時です。

Could not authenticate you.

が出たのですが、その直前に認証の確認をしていたのでauthenticateできていないわけもなく…

で、怪しいと思って改行を消してみたらpostできてしまいまして…

それからstringByReplacingOccurrencesOfString “\n”%0aやら\\nやら<br>やら\r\nに変えてみたのですが、どれもダメで…

結局解決はしていないのです…

うーん、どうしたものか。


ちなみに前にRubyで投稿した時はtweet.gsub(/\\n/, “\n”) でいけたんですけどねぇ


カテゴリ: アプリ制作. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。