Библиотека eAbay OAuth 2.0 не может разрешить метод initialize () - PullRequest
0 голосов
/ 04 мая 2020

Я хотел написать немного для Android клиента eBay.

, но я борюсь с первой проблемой. сначала я запускаю новый Java Android проект с IntelliJ

Я хочу использовать эту библиотеку ebay-oauth- android -client

, как описано в Git:

Получение библиотеки

Эта библиотека распространяется через центральный репозиторий maven. Чтобы использовать эту библиотеку, включите в свой проект приведенную ниже зависимость

 dependencies {
     compile 'com.ebay.auth:ebay-oauth-android-client:1.0.1'
 }

Я поместил этот фрагмент в мой Gradle.build и заменил компиляцию реализацией, поскольку компиляция запрещена.

Все идет нормально. gradle импортирует эту библиотеку.

, но следующий шаг у меня не работает:

Настройка приложения Перед выполнением OAuth необходимо инициализировать библиотеку с подробными сведениями о вашем приложении с портала разработчиков eBay. Библиотека использует

Client ID. Для получения дополнительной информации см. Получение учетных данных OAuth Redirect Uri. подробности см. в разделе Получение списка областей, закодированных в Redirect_Uri Url. подробности см. в разделе «Определение областей OAuth». Используйте эти подробности в ApiSessionConfiguration.initialize (), как показано ниже:

 ApiSessionConfiguration.initialize(
                apiEnvironment = ApiEnvironment.PRODUCTION,
                apiConfiguration = ApiConfiguration(
                    <Client ID>,
                    <Redirect Uri>,
                    <space separated scopes>
                )
            )

Поэтому я пытаюсь вызвать initialze:

мой код с ошибка

Но когда я пытаюсь это сделать, компилятор сообщает мне, что:

cannot find symbol method initialize(<null>)

Когда я перехожу к объявлению класса ApiSessionConfiguration, пишется, что:

// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available

package com.ebay.api.client.auth.oauth2.model

public final class ApiSessionConfiguration private constructor() {
    public companion object {
        private final val instance: com.ebay.api.client.auth.oauth2.model.ApiSessionConfiguration /* compiled code */

        public final fun getInstance(): com.ebay.api.client.auth.oauth2.model.ApiSessionConfiguration { /* compiled code */ }

        public final fun initialize(apiEnvironment: com.ebay.api.client.auth.oauth2.model.ApiEnvironment, apiConfiguration: com.ebay.api.client.auth.oauth2.model.ApiConfiguration): com.ebay.api.client.auth.oauth2.model.ApiSessionConfiguration { /* compiled code */ }
    }

    public final var apiConfiguration: com.ebay.api.client.auth.oauth2.model.ApiConfiguration? /* compiled code */

    public final var apiEnvironment: com.ebay.api.client.auth.oauth2.model.ApiEnvironment? /* compiled code */
}

Я действительно не понимаю, что я делаю неправильно. в примере файла Git ApiSessionConfiguration.initalize () вызывается без ошибок.

Я уже пытался сделать недействительным Cache, Clean Build и начать заново. когда я пытаюсь импортировать библиотеку из библиотек структуры проекта. Новое из репозитория Maven говорит: файлы не были загружены ...

1 Ответ

0 голосов
/ 05 мая 2020

Разве он не может разрешить initialize метод с одним аргументом? Вы пробовали метод initialize с двумя аргументами?

Их пример приложения принимает 2 аргумента: https://github.com/eBay/ebay-oauth-android-client/blob/master/sample/src/main/java/com/ebay/api/client/auth/MainActivity.kt#L37 -L44

Обновлено: но для доступа к Kotlin сопутствующая объектная функция из java необходимо вызвать ApiSessionConfiguration.Companion.initialize метод

...