0

first, I have to say, that there are many links here that user asked same question, but none of them helps, so please don't remove my question.

I want to videos from youtube API, there are some parameters that I should send with, first I add them into header but apparently it doesn't help.

Here is my url

let url = Url(String: "https://www.googleapis.com/youtube/v3/playlistItems")

and here are the parameters (I added to header but it's wrong)

 var request = URLRequest(url: url!)
 request.httpMethod = "GET"
 request.allHTTPHeaderFields = [
 "part" : "snippet",
 "key" : api_key,
 "playlistId": trailerPlayListId
    ]

In some post, I read that I can change URL to URLComponents and add queryItems, but when I do that, I can't add it to URLRequest, it need URL

 var request = URLRequest(url: url!)

Could anyone help me on that? Thanks

2

1 Answer 1

1

I'm not sure if they're get parameters or http header field so I've added the values to both. Remove the ones you don't need.

import UIKit
import Foundation

var api_key = ""
var trailerPlayListId = ""


var url = URLComponents(string: "https://www.googleapis.com/youtube/v3/playlistItems")!
url.queryItems = [URLQueryItem(name: "part", value: "snippet"),
                              URLQueryItem(name: "key", value: api_key),
                              URLQueryItem(name: "playlistId", value: trailerPlayListId)]


let request = NSMutableURLRequest(url: url.url!)

request.httpMethod = "GET"

//not sure if these are headers or not, they look more like GET fields
request.allHTTPHeaderFields = [
  "part" : "snippet",
  "key" : api_key,
  "playlistId": trailerPlayListId
]


let dataTask = URLSession.shared.dataTask(with: request as URLRequest) {data,response,error in

  do {//TODO: Parse Response
    if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
      print("data \(jsonResult)")
    }
  } catch let error as NSError {
    print(error.localizedDescription)
  }

}
dataTask.resume()
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.