URLRequest для AppStoreConnect Api - PullRequest
       53

URLRequest для AppStoreConnect Api

0 голосов
/ 31 октября 2019

Я хочу скачать отчеты о продажах из AppStore через AppStoreConnect Api.

Вот что у меня есть:

  1. Я успешно создал токен JWT для аутентификациипротив сервера.
  2. Мне удалось успешно выполнить запрос к серверу с помощью curl

Пример:

curl https://api.appstoreconnect.apple.com/v1/apps --Header "Authorization: Bearer eyJraWQiOiI3UjlDUUY5ODIzIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiI2OWE2ZGU3Zi00NmY1LTQ3ZTMtZTA1My01YjhjN2MxMWE0ZASDFJleHAiOjE1NzIzOTc4MjAsImF1ZCI6ImFwcHN0b3JlY29ubmVjdC12MSJ9.6A_paF75L_q6jzOLsHItk8FbAo9H1nJpLGkLW15XNHhuGNnxsjFGfFl_9CMBZ7eJovHzVVE4Ig-PasdfEeW1w"

Токен здесь недопустим, он только для демонстрационных целей.

Теперь использование curl - это здорово, но я хотел больше автоматизации, поэтому я хочу сделать это из приложения OSX, я пытаюсь подключиться к серверу с помощью URLSession:

guard let url = URL(string: "https://api.appstoreconnect.apple.com/v1/users") else{
                            return
}

let token = "eyJraWQiOiI3UjlDUUY5ODIzIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiI2OWE2ZGU3Zi00NmY1LTQ3ZTMtZTA1My01YjhjN2MxMWE0ZDEiLCJleHAiOjE1NzIzOTc4MjAsImF1ZCI6ImFwcHN0b3JlY29ubmVjdC12MSJ9.6A_paF75L_q6jzOLsHItk8FbAo9H1nJpLGkLW15XNHhuGNnxsjFGfFl_9CMBZ7eJovHzVVE4adfadsfW1w"
var request = URLRequest(url: url, cachePolicy: .reloadIgnoringCacheData, timeoutInterval: 10)
    request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { (optData, optURLResponse, optError) in

            }

task.resume()
}

Получив неавторизованный ответ, я обнаружил, что свойство заголовка «Авторизация» не было установлено. Читая документацию URLRequest, похоже, что это свойство зарезервировано и не должно использоваться.

У кого-нибудь есть предложения?

...