質問事項
自作アプリにGoogleDriveへのアクセス権限を与えようとしていますが、うまく権限が与えられません。
原因や理解が間違っている箇所を教えてください。
発生している問題
ソースコードは以下の通りです。サインインの過程でアプリのGoogleドライブへアクセスを承認する画面が現れ、承認された場合は自作アプリからGoogleDriveへのアクセス権限が付与され、testButtonを押しても何も表示されないという動作を想定していました。
Java
1 protected void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 setContentView(R.layout.activity_main); 4 5//サインインの過程でGoogleDriveへのアクセスを同意させる 6 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 7 .requestScopes(Drive.SCOPE_APPFOLDER) 8 .build(); 9 GoogleSignInClient gsc = GoogleSignIn.getClient(this, gso); 10 Intent i = gsc.getSignInIntent(); 11 startActivityForResult(i, 1); 12 13//アクセス権限があれば押しても何も表示されないボタンを作成 14 Button btn = findViewById(R.id.testButton); 15 btn.setOnClickListener(new View.OnClickListener(){ 16 public void onClick(View view){ 17 test(); 18 } 19 }); 20 } 21 22 protected void test(){ 23 if(!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this, Drive.SCOPE_APPFOLDER)){ 24 Toast tst = Toast.makeText(this, "test", Toast.LENGTH_LONG); 25 tst.show(); 26 } 27 }
結果
以下の画面の通りGoogleDriveへのアクセス承認画面が現れていません。
また、testButtonを押した場合でも「test」というトーストが表示されてしまい、GoogleDriveへのアクセス権限が与えられていないことがわかりました。
あなたの回答
tips
プレビュー