YoutubeAPI를 사용하여 JSON 형식의 정보를 Xcode로 처리하는 방법
8662 단어 JSONSwiftYouTubeAPIdecodeXcode
YoutubeAPI를 사용해 봅시다.
YoutubeAPI를 사용하여 Json 형식의 정보를 처리할 수 있도록 하려면 다음과 같이 하십시오.
1:YoutubeAPI를 사용하여 할 수 있도록 프로젝트를 만들고 API 키를 만드는 console.cloud.google.com
2 : Xcode에서 대상 JSON 형식에 해당하는 모델 만들기
3: API에 요청을 던지기
4:응답 정보를 model형의 오브젝트에 디코드
먼저 API 키를 만들려면 htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 요츠 베 / v3 / 껄껄 g-s r d? hl = 그럼
방문
작업을 시작하기 전에
라는 항목의 순서보다 Google 계정이 없으면 작성
htps : // 이런. cぉd. 오, ぇ. 코 m / 아피 s / c 레덴치아 ls? hl = 그럼 & p 로지 ct = 어서 p p 311106 & fl에서 r = & 오 r가 Nizachio d =
방문
내 화면이라면 햄버거 메뉴 오른쪽의 Googole Cloud Platform의 오른쪽 YoutubeApp 탭에서 만들 수 있습니다.
그 후
+ 자격 증명 만들기
라는 탭을 클릭하여 API 키를 게시합니다.
이 API 키는 YoutubeAPI에 요청을 던질 때 쿼리 매개 변수로 전달하는 값입니다.
말 그대로 키(인증)에 역할을 한다.
그럼 시도.
https://www.googleapis.com/youtube/v3/search?q=어떤 문자&key=받은 키&part=snippet
라는 URL에 액세스하면
JSON 파일이 응답으로 반환됩니다.
요점은 이것을 Xcode로 취급할 수 있도록 할 수 있으면 좋다.
이를 위해
alamofire라는 라이브러리를 사용합니다.
이 라이브러리는 http 통신용 라이브러리
cocoapod로 라이브러리를 프로젝트에 설치합니다.
테스트 코드
기본 스토리보드에 연결된 ViewController로 테스트 코드를 작성해 봅니다.
import UIkit
import Alamofire
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
//リクエスト URL
let urlString = "https://www.googleapis.com/youtube/v3/search?q=検索したいワード&key=APIキー&part=snippet"
//リクエストを作成
let request = AF.request(urlString)
//リクエストをyoutubeApiに投げてレスポンス情報を取得
request.responseJSON{(response) in
do{
//Json情報を取得して対象のモデルオブジェクトへ変換
guard let data = response.data else { return }
let decode = JSONDecoder()
let video = try decode.decode(Video.self, from: data)
print("video:", video.items.count)
} catch {
print("変換に失敗しました\(error)")
}
print("response", response)
}
}
}
모델은 이렇게
import Foundation
class Video: Decodable {
let kind: String
let items: [Item]
}
class Item: Decodable {
let snippet: Snippet
}
class Snippet: Decodable {
let publishedAt: String
let channelId: String
let title: String
let description: String
let thumbnails: Thumbnail
}
class Thumbnail: Decodable {
let medium: ThumbnailInfo
let high: ThumbnailInfo
}
class ThumbnailInfo: Decodable {
let url: String
let width: Int?
let height: Int?
}
Json 형식의 정보를 디코딩하려면 변수 이름을 일치시켜야하며 배열에 대해서는 위와 같이
클래스를 작성해 넣는 정보를 클래스로 취급할 수 있도록(듯이) 한다.
예를 들어 응답으로 반환 된 json 정보에는
Item이라는 배열이 있다. 이 배열에는 kind 나 id 등의 변수와 snippet 등의 배열이 있습니다.
이 배열안에 들어 있는 정보 하나의 형태(클래스)로 취급한다.
결과적으로 하나의 video 클래스의 인스턴스가 만들어지고,
그 안의 Item이라는 변수명의 배열에 json 정보의 Item 배열의 각 요소가 저장된다
덧붙여서, json 정보의 모든 요소를 저장하는 변수를 준비하지 않아도 꺼내고 싶은 정보만 준비해 두면 된다.
반대로 json 정보에없는 정보를 저장하는 변수가 모델 객체에서 선언되면 오류가 발생합니다.
나중에 생성 된 객체의 정보를 사용하여 imageURL에서 이미지를 다운로드하거나 문자열을 label에 할당하거나 유사하거나 구울 수 있습니다.
Reference
이 문제에 관하여(YoutubeAPI를 사용하여 JSON 형식의 정보를 Xcode로 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YutaMatsuura715/items/0b19ae3cfeaf0b557f14텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)