質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2213閲覧

Swift+GoogleTranslateAPIを使って翻訳アプリを作っているのですが、URLを叩く際に、スペースが入るとエラーがでます。

jabh13157

総合スコア5

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2015/07/10 02:09

Swift+GoogleTranslateAPIを使って翻訳アプリを作っているのですが、URLを叩く際に、スペースが入るとエラーがでます。

lang

1 // 通信用のConfigを生成. 2 let myConfig:NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration() 3 4 // Sessionを生成. 5let mySession:NSURLSession = NSURLSession(configuration: myConfig, delegate: self, delegateQueue: nil) 6 7 // 通信先のURLを生成. 8let myUrl:NSURL = NSURL(string: "https://www.googleapis.com/language/translate/v2?key=/*ここにキーが入ってます。*/=\(myTextView.text)")! 9 10 // タスクの生成. 11 let myTask:NSURLSessionDataTask = mySession.dataTaskWithURL(myUrl, completionHandler: { (data, response, err) -> Void in 12 13 // 受け取ったjsonデータを表示. 14dispatch_async(dispatch_get_main_queue(), { 15 self.myTextViewResult.text = NSString(data: data, encoding: NSUTF8StringEncoding)! as String }) 16 17 // 受け取ったJSONデータをパースする. 18 var json:NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil) as! NSDictionary 19 20

"He"や"Hello"など単語や文字をつなげてmyTextViewに入力するとエラーがでずに翻訳されたものが返ってくるのですが、"Hello guys!"や"Good Morning"などスペースをあけると
//通信先のURLを生成
のところでエラーがでてしまいます。

どのように処理すればよいのでしょうか・・・どなたか教えていただけないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

NSURLにはスペースが受け付けられないらしく
エスケープするようなコードをいれたらできました。

lang

1 //文字列エンコード 2 let escapedString = myTextView.text!.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())

投稿2015/07/10 03:55

jabh13157

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問