Неустранимая ошибка: диспетчер сеансов не вернул задачу: файл - PullRequest
1 голос
/ 18 мая 2019

В настоящее время я играю с API-интерфейсом Vimeo и следую процессу установки и инструкциям, приведенным здесь:

(https://github.com/vimeo/VimeoNetworking)

Все, что я делаю, это удаление общедоступных видеоот Vimeo, за исключением того, что я получаю

Неустранимая ошибка: диспетчер сеансов не возвратил задачу: файл

все остальное работает, и я могу использовать свой собственный токен дляаутентификация.

Вот код, который у меня сейчас есть, который выдает эту ошибку:

Что я делаю неправильно или отсутствует?

let queryURL = URL(string: "/channels/staffpicks/videos")
        let videoRequest = Request<[VIMVideo]>(path: queryURL!.absoluteString)
        guard let sessionClient = _client else {
            return []
        }

        let _ = sessionClient.request(videoRequest, completion: {
            results in
            switch results {
            case .success(let response):
                let videos: [VIMVideo] = response.model

                for video in videos
                {
                    print("retrieved video: \(video)")
                }

                vVideo = videos

                break
            case .failure(let error):
                print(error.localizedDescription)

                break
            }
        })

1 Ответ

1 голос
/ 13 июня 2019

Извините, я опоздал, но у меня это сработало (с помощью Swift 4.2):

let appConfiguration = AppConfiguration(
        clientIdentifier: Constants.VIMEO_CLIENT_IDENTIFIER,
        clientSecret: Constants.VIMEO_CLIENT_SECRET,
        scopes: [.Public], keychainService: "")
let vimeoSessionManager = VimeoSessionManager.defaultSessionManager(
        baseUrl: VimeoBaseURL,
        accessToken: Constants.VIMEO_ACCESS_TOKEN,
        apiVersion: "3.4")
let vimeoClient = VimeoClient(
        appConfiguration: appConfiguration,
        sessionManager: vimeoSessionManager)
let videoRequest = Request<[VIMVideo]>(path: "/videos?query=dragon+ball")
vimeoClient.request(videoRequest) {
        result in
        switch result {
        case .success(let response):
            let videos: [VIMVideo] = response.model
            print("\n\n retrieved videos: \(videos) \n\n")
        case .failure(let error):
            print("\n\n error retrieving videos: \(error) \n\n")
        }
    }

Я почти уверен, что вам нужно добавить менеджер сеансов, но не 100%, потому что не видел, какВы инициализируете клиент и другие переменные, поэтому я просто добавляю этот пример.

  • Не забудьте получить clientIndentifier, clientSecret и accessToken в [https://developer.vimeo.com/apps][1] (после того, как высоздало ваше приложение).

  • Это использует публичный accessToken, если вам нужен аутентифицированный доступ, просто добавьте области .Private и .Interact в массив областей в appConfiguration и получите 'Аутентифицированный 'accessToken.

  • Также обратите внимание, что я использую "/ videos? Query = dragon + ball" в качестве примера.

...