Android에서 OAuth2를 사용하여 Google SpreadSheet에 액세스하는 방법

SpreadSheet과 같은 Google 문서도구에 대한 액세스 정보는 새롭고 혼란스럽고 혼돈입니다.
현시점에서는 이하의 흐름을 제일 간단하게 할 수 있었습니다.

MainActivity.java
        //※ここにユーザーアカウント選択画面があると素敵だと思います。

        //oauth tokenの取得
        String token;
        try {
            token = GoogleAuthUtil.getToken(this, "[email protected]", "oauth2:https://spreadsheets.google.com/feeds");
            Log.i("TAG", token);
        } catch (UserRecoverableAuthException e) {
            //最初のアクセスの場合かならずここに来る。
            //ユーザーに承認を求める画面が表示される。
            startActivityForResult(e.getIntent(), USER_RECOVERABLE_AUTH);
            return;
        }catch (IOException | GoogleAuthException e) {
            Log.e("TAG", "", e);
            return;
        }

        //Spreadsheetへアクセスするサービス
        SpreadsheetService service = new SpreadsheetService("applicationName");
        service.setProtocolVersion(SpreadsheetService.Versions.V3);
        service.setAuthSubToken(token);//tokenを設定

        //プライベート権限のシート全てにアクセスして、とりあえずタイトル表示する。
        try {
            URL url = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
            SpreadsheetFeed spreadsheetFeed = service.getFeed(url, SpreadsheetFeed.class);
            Log.i("TAG", spreadsheetFeed.getTitle().getPlainText());
            for (SpreadsheetEntry entry : spreadsheetFeed.getEntries()) {
                Log.i("TAG", entry.getTitle().getPlainText());
            }
        } catch (IOException | ServiceException e) {
            Log.e("TAG", "", e);
        }

    }

    @OnActivityResult(USER_RECOVERABLE_AUTH)
    void onResult(){
        callOauthToken();
    }

AndroidAnnotation을 이용하여 쓰고 있습니다. 분위기에서 읽으십시오.

htps : // 이런. 로 ごぉぺrs. 오, ぇ. 코m/p로지ぇct
그래서 아래와 같은 클라이언트 ID도 만들어 둘 필요가 있을지도 모른다. 없을지도 모른다.

좋은 웹페이지 즐겨찾기