有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何替换AuthorizationCodeInstalledApp类?

我试图在Android仿真器上从Google Quickstart for Java运行示例代码,但代码落在这一行

return new AuthorizationCodeInstalledApp(flow, receier).authorize("user");

事实证明,Android不支持AuthorizationCodeInstalledApp类,因此您需要手动捕获URL地址进行授权,在浏览器中打开它,然后将结果放入Credential对象中。我表面上对Java很熟悉,所以我真的不知道如何实现它

你能告诉我怎么做吗


共 (1) 个答案

  1. # 1 楼答案

    从这个thread,Charan M使用这段代码获取凭证和服务:

    mCredential = GoogleAccountCredential.usingOAuth2(getApplicationContext(), Arrays.asList(SCOPES)).setBackOff(new ExponentialBackOff());
    HttpTransport transport = AndroidHttp.newCompatibleTransport();
    JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
    mService = new com.google.api.services.gmail.Gmail.Builder(
            transport, jsonFactory, credential)
            .setApplicationName(mContext.getResources().getString(R.string.app_name))
            .build();
    

    请注意,您不能在主线程上运行此代码,因为它涉及网络操作。他们还提供了一个github project作为指南,将Gmail API集成到他们的Android项目中