无法创建GraphServiceClient

时间:2020-03-05 18:45:35

标签: android kotlin microsoft-graph-api

我正在使用图sdk编写android应用程序。 我试图故意创建GraphServiceClient,但是由于nullpointerexception而下降。 我在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 / Android运行时:致命异常:主要 流程: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.java:95) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2016) 在android.os.Handler.dispatchMessage(Handler.java:107) 在android.os.Looper.loop(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(Handler.java:107) 在android.os.Looper.loop(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时,它正在下降。

为什么?我在做什么错了?

0 个答案:

没有答案