не может пройти проверку подлинности, чтобы получить токен доступа для отправки электронных писем на Android Java с использованием веб-учетных данных - PullRequest
0 голосов
/ 06 июля 2019

, как гласит заголовок, я не могу пройти проверку подлинности, чтобы получить маркер доступа для отправки электронных писем через Gmail на Android с использованием веб-учетных данных (я пытался использовать учетные данные Android, но не было примера кода относительно того, как / что такое URL-адрес аутентификации)

используя предоставленный код, он всегда генерирует исключение filenotfound для функции 'conn.getInputStream ()'

String request = "?client_id="+ URLEncoder.encode(this.oAuthClientId, "UTF-8")
                +"&client_secret="+URLEncoder.encode(this.oAuthClientSecret, "UTF-8")
                +"&response_type=code"
                +"&redirect_uri=" + URLEncoder.encode(this.redirectUri, "UTF-8")
                +"&scope="+ URLEncoder.encode("https://www.googleapis.com/auth/gmail.send", "UTF-8");
        HttpURLConnection conn = (HttpURLConnection) new URL(this.oAuthURL + request).openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");

        conn.connect();

        HashMap<String,Object> result;
        result = new ObjectMapper().readValue(conn.getInputStream(), new TypeReference<HashMap<String,Object>>() {});
        this.accessToken = (String) result.get("access_token");
        this.tokenExpires = System.currentTimeMillis()+(((Number)result.get("expires_in")).intValue()*1000);
...