是否可以在后台连接到云端硬盘 API



我想在后台保存用户的数据,但不明白如何在没有用户交互的情况下连接到云端硬盘 API。

根据我第一次连接后的理解

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstance);
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addApi(Drive.API)
            .addScope(Drive.SCOPE_FILE)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();
}

我想获取一个刷新令牌,稍后我将使用该令牌获取访问令牌,该令牌将用于连接到 API 并保存用户数据。使用适用于Android的Drive API看起来不可行

如果有人指出我如何以正确的方式做到这一点,我将不胜感激!

要实现从后台服务将文件保存到云端硬盘,您需要启动一个活动,在该活动中您将处理权限活动的活动结果。

@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
  if (resultCode == Activity.RESULT_OK) {
    // permission is given
    finish();
  } else {
    or show error
  }
}

若要获取刷新令牌以允许长期访问,应用会请求授权以访问由范围标识的资源。您需要prompt=consent参数添加到身份验证请求中。包含prompt=consent后,每次登录应用程序时都会显示同意屏幕。刷新令牌仅在首次授予应用程序权限时返回。

基于此线程:

仅在用户首次授权时提供refresh_token。后续授权(例如您在测试 OAuth2 集成时所做的授权(将不会再次返回refresh_token。

然后,若要使用刷新令牌生成访问令牌,可以参考此问题。

相关内容

最新更新