java.lang.IllegalStateException:在API中使用Auth.GOOGLE\u SIGN\u时,不得在GoogleAppClient.Builder中设置作用域
我正在使用带身份验证api的驱动器api。我需要先登录谷歌账号,然后上传文件到硬盘。问题是,当我只使用未经身份验证的驱动器api时,表示无法登录。我是第一次使用java.lang.IllegalStateException:在API中使用Auth.GOOGLE\u SIGN\u时,不得在GoogleAppClient.Builder中设置作用域,java,android,google-play-services,drive,android-googleapiclient,Java,Android,Google Play Services,Drive,Android Googleapiclient,我正在使用带身份验证api的驱动器api。我需要先登录谷歌账号,然后上传文件到硬盘。问题是,当我只使用未经身份验证的驱动器api时,表示无法登录。我是第一次使用 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .build(); mGoogleA
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, 4);
它已成功登录。但当我尝试使用驱动api时,它会给出错误。下面是代码
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, 4);
有什么解决方案可以让我先登录,然后将文件添加到驱动器吗?试试下面的代码:
@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();
}
然后设置要进行授权的连接代码:
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
我遵循文档-,此文档还提供了如何处理用户以前未授权应用程序的ff
希望这有帮助。尝试以下代码:
@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();
}
然后设置要进行授权的连接代码:
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
我遵循文档-,此文档还提供了如何处理用户以前未授权应用程序的ff
希望这能有所帮助。你能包括你的
onConnectionFailed
回调吗?你能包括你的onConnectionFailed
回调吗?出于某种原因,这段代码不再工作了。。。看起来这个名字并不是他们唯一改成谷歌硬盘的。我试着用提问的方法来解决这个问题,但这和他的错误是一样的。知道它现在是怎么工作的吗?由于某种原因,这个代码不再工作了。。。看起来这个名字并不是他们唯一改成谷歌硬盘的。我试着用提问的方法来解决这个问题,但这和他的错误是一样的。知道它现在是怎么工作的吗?