1

我正在尝试使用 Google Picker 用户界面将图像上传到 Google Drive。到目前为止,我一直没有成功。

这是我正在使用的代码:

private void onCreatePicker(ViewId viewId) {

    final Picker picker = PickerBuilder.create()                
            .setTitle("Subir imagen a Google Drive")
            .addView(viewId)
            .addView(DocsUploadView())
            .setLocale("es")                
            .setOAuthToken(token_oauth2)
            .setDeveloperKey(DEVELOPER_KEY)
            .setCallback(buildPickerCallback(viewId))
            .build();
    picker.setVisible(true);
  }

private JavaScriptObject DocsUploadView() {
    return com.ip.gae.gartla.shared.DocsUploadView.create();

}

我请求你帮助我可能会丢失什么。

感谢您的时间,

问候,

更新:看来我的应用范围是错误的。为了生成正确的 oAuth2Token,您必须声明要为其生成令牌的范围:

以下是我用来生成令牌的方法:

private void tokenOauth2() {
    AuthRequest req = new AuthRequest(AUTH_URL, CLIENT_ID)
    .withScopes(GOOGLE_DRIVE_SCOPE); // Can specify multiple scopes here

    Auth.get().login(req, new Callback<String, Throwable>() {
          @Override
          public void onSuccess(String token) {
            token_oauth2 = token;
          }
          @Override
          public void onFailure(Throwable caught) {
            // The authentication process failed for some reason, see caught.getMessage()
          }
        });
}

这是我正在使用的 GOOGLE_DRIVE_SCOPE 变量:

String GOOGLE_DRIVE_SCOPE = "https://www.googleapis.com/auth/drive";

所以,现在这对我有用。我附上了解决方案,所以如果有人觉得它足够有趣。:-)

4

0 回答 0