LoginSignup
1
2

More than 3 years have passed since last update.

【Swift】日本語を含むURLを使いたい時はaddingPercentEncodingせよ

Posted at

知らなくて、APIのコールにつまずいた。

json -> swiftの型生成は quicktype を使った

(NewsAPIからデータを取得しようとしてデコードで失敗した話はこちら
【Swift】NewsAPIで取得したjsonのデコードで失敗して半日潰した話

APIで日本語を含むURLからデータをとってきたい時はaddingPercentEncodingを使う必要があった
image.png

なので日本語を含むURLの場合は以下のように書くべきだった
keywordに日本語が入る

let NewsApiURL="https://newsapi.org/v2/everything?q=\(keyword)&num=3&sortBy=latest&apiKey=\(myApiKey)"
let encodedURL = NewsApiURL.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)

guard let url = NSURL(string: encodedURL!) else {
    print("無効なURLです。")
    return
}

のようにしてあげたらうまく行った。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2