OneDrive - 如何检索授权访问数据?

时间:2014-08-01 10:07:27

标签: android permissions authorization onedrive

我开发了一个使用OneDrive API的Android应用程序。当我连接到OneDrive时,它会要求我进行身份验证并显示授权页面(有权访问我在云上的数据)。

我的问题是:每次我在云上上传数据时,应用程序都会显示授权页面。我希望这个页面不会每次出现。我们怎么能发现它已经记录好了?

非常感谢!

1 个答案:

答案 0 :(得分:0)

使用Andriod的LiveSDK时,假设用户在使用应用程序时始终进行身份验证,为了保留此流程,我们要求您调用LiveAuthClient.initialize(...)来续订用户凭据(没有任何用户输入)或调用LiveAuthClient.login(...)以执行交互式登录(用户输入用户名/密码)。

在LiveSDK示例应用程序中,我们看到这是通过名为SignInActivity.java的启动活动实现的。以下是执行静默凭据续订的相关摘录:

protected void onStart() {
   super.onStart();
   mAuthClient.initialize(Arrays.asList(Config.SCOPES), new LiveAuthListener() {
      @Override
      public void onAuthError(LiveAuthException exception, Object userState) {
         mInitializeDialog.dismiss();
         showSignIn();
         showToast(exception.getMessage());
      }

      @Override
      public void onAuthComplete(LiveStatus status, LiveConnectSession session, Object userState) {
         mInitializeDialog.dismiss();
         if (status == LiveStatus.CONNECTED) {
            launchMainActivity(session);
         } else {
            showSignIn();
         }
      }
   });
}

launchMainActivity()函数将用户移动到主应用程序代码中,这将是您的应用程序认真启动的地方。要查看此登录活动的完整详细信息,请查看示例应用SignInActivity.java in Github