Не могу создать GraphServiceClient - PullRequest
0 голосов
/ 05 марта 2020

Я пишу android приложение с использованием графа SDK. Я пытаюсь создать GraphServiceClient в намерении, но он падает с нулевой ошибкой. Что я делаю в MainActivity:

val authenticationAdapter = object : MSAAuthAndroidAdapter(application) {
            override fun getClientId(): String {
                return "ca001e3e-b872-466e-99a3-1264efaedb45"
            }

            override fun getScopes(): Array<String> {
                return arrayOf("https://graph.microsoft.com/Calendars.ReadWrite",
                    "https://graph.microsoft.com/Contacts.ReadWrite",
                    "https://graph.microsoft.com/Files.ReadWrite",
                    "https://graph.microsoft.com/Mail.ReadWrite",
                    "https://graph.microsoft.com/Mail.Send",
                    "https://graph.microsoft.com/User.ReadBasic.All",
                    "https://graph.microsoft.com/User.ReadWrite",
                    "offline_access",
                    "openid")
            }
        }

        login.setOnClickListener { authenticationAdapter.login(this, object : ICallback<Void>{
            override fun success(result: Void?) {
                val intent = Intent(baseContext, FilesBrowser::class.java)
                intent.putExtra("token", authenticationAdapter.accessToken)

                startActivity(intent)
            }

            override fun failure(ex: ClientException?) {
                Toast.makeText(baseContext, ex.toString(), Toast.LENGTH_LONG).show()
            }

        })}

и код в моем намерении

        val token = intent.getSerializableExtra("token").toString()


        val mClient = GraphServiceClient
            .Builder()
            .authenticationProvider { request -> request?.addHeader("authorization", "bearer " + token) }
            .buildClient()

И я получаю эту ошибку:

E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.micloud, PID: 22215 java .lang.RuntimeException: невозможно запустить действие ComponentInfo {com.example.micloud / com.example.micloud.FilesBrowser}: java .lang. NullPointerException: исполнители в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 3270) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3409) в android .app.servertransaction. LaunchActivityItem.execute (LaunchActivityItem. java: 83) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 135) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. *: 95) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2016) в android .os.Handler.dispatchMessage (Обработчик. java: 107) в android .os .Looper.l oop (Looper java:. 214 ) в android .app.ActivityThread.main (ActivityThread. java: 7356) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller .run (RuntimeInit. java: 492) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930) Вызывается: java .lang.NullPointerException: Исполнители в com.microsoft .graph.core.BaseClient.validate (BaseClient. java: 129) по адресу com.microsoft.graph.extensions.GraphServiceClient $ Builder.buildClient (GraphServiceClient. java: 113) по адресу com.example.micloud.FilesBrowser.onCreate. (FilesBrowser.kt: 36) в android .app.Activity.performCreate (Activity. java: 7802) в android .app.Activity.performCreate (Activity. java: 7791) в android. app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1299) в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 3245) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3409) в android .app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem. java: 83) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 135) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 95) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2016) в android .os.Handler.dispatchMessage (Обработчик. java: 107) в android .os.Looper.l oop ( Looper. java: 214) на android .app.ActivityThread.main (ActivityThread. java: 7356) на java .lang.reflect.Method.invoke (собственный метод) на com. android. internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930)

Поэтому он падает, когда я вызываю buildClient.

Почему? Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...