Google 앱에 작업을 구축 중이며 사용자를 식별해야합니다 (전자 메일을 받겠습니다). 다음과 같은 방식으로 계정 연결을 구현했습니다. 사용자가 자신의 Google 계정으로 로그인하면 "Google 로그인 버튼"이있는 간단한 웹 페이지를 호스팅하기 때문에 사용자가 액세스 토큰을 Google 측, 내가 아니라), 그 시점에서 나는 사용자와 구글에 대한 행동을 인증 토큰을 얻습니다. 계정 연결을 구현 했으므로 이제는 액세스 토큰을 얻을 수 있습니다. 다음 단계는 무엇입니까? GET 요청을 일부 API에 보내고 이메일을 다시 받아야한다고 생각합니다. 문제는 자바 스크립트에서 GET 요청과 관련하여 많은 문제가 있다는 것입니다 (힌트 : 처음 자바 스크립트입니다). 누군가 나를 도울 수 있습니까?Google의 액션에서 JavaScript로 GET 요청 보내기
0
A
답변
0
여기에는 두 가지 잠재적 인 문제가 있습니다. 하나는 기술적 인 논리적 문제입니다.
기술적 인 문제 - Firebase에서 실행하고 있습니까? 기본 "불꽃 계획"(구글, 을 장려하지만을 필요로하지 않는 것입니다) 중포 기지 기능을 사용하는 경우
Google 서비스를 제외하고 아웃 바운드 함수 호출을 허용하지 않습니다. 따라서 GET API 호출을하려면 "Blaze Plan"으로 업데이트해야합니다 (유료 요금제로 나열되어 있지만 개발 및 간단한 배포에 적합한 무료 사용 레벨을 가지고 있습니다). .
논리 문제 -?! 계정이 연결 했는가
당신은 당신이 계정 연결을 구현 토큰 도착했다 - 위대한
그 토큰 당신은 구글에게 액세스 할 수있는 권한을 부여하는 것을 나타냅니다 당신의 서비스 중 하나를 대신하여 서비스를 제공 할 수 있습니다. 사용자가 Google에 허용하도록 허용했습니다. 토큰을 사용하여 사용자 님이 권한을 부여했습니다.
사용자의 이메일 주소가있는 경우 토큰을 데이터베이스 또는 이메일 주소 또는 다른 주장이 포함 된 JWT의 색인으로 사용할 수 있지만 그 이메일 주소를 처음. 이 주소를 사용하여 Google이 해당 사용자에게 직접 보낸 이메일 주소를 가져올 수는 없습니다.
당신 수 당신과 함께 자신의 계정을 만들 때 사용자가 자신의 이메일 주소 구글의 정체성 서비스를 요청하는 서비스에 권한을 부여해야 -하지만 구글 Assistant는 할 얘기가 승인 서비스는 별도의 과정 .
는
0
당신이 찾고있는 GET 요청이
let accestoken = assistant.getUser().accessToken;
const https = require('https');
https.get('https://www.googleapis.com/plus/v1/people/me?access_token=' + accestoken, (resp) => {
let jsondata = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
jsondata += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end',() => {
parsedData = JSON.parse(jsondata);
console.log(parsedData);
//parsedData.emails[0] is the email address
});
})
관련 문제
- 1. 간단한 GET 요청 보내기
- 2. CURL없이 GET 요청 보내기
- 3. Google의 C++ 기본 클라이언트로 POST 요청 보내기
- 4. Sockets.IO에 PHP GET 요청 보내기
- 5. 본문과 함께 GET 요청 보내기
- 6. 파이썬 - "불완전한"GET 요청 보내기
- 7. GET 액션에서 엔티티 키 설정하기
- 8. 레일 JQuery POST 요청 대신 GET 보내기
- 9. Java - GET 또는 POST 요청 보내기
- 10. 브라우저 탭에서 GET 요청 보내기 close
- 11. Objective-C를 사용하여 HTTP GET 요청 보내기
- 12. zope.formlib로 작성된 Plone 양식에 GET 요청 보내기
- 13. HelloWebAPI에 GET 요청 보내기! Metro App 내에서
- 14. X 분마다 내게 HTTP GET 요청 보내기
- 15. java.net.URL을 사용하여 SSJC에서 GET 요청 보내기
- 16. android 헤더로 HTTP GET 요청 보내기
- 17. 여러 비동기 HTTP GET 요청 보내기
- 18. 루프로 API에 여러 HTTP GET 요청 보내기
- 19. Google 역 이미지 검색을위한 GET 요청 보내기
- 20. 파이썬에서 조각 식별자로 GET 요청 보내기
- 21. 자바를 사용하여 보난자 API GET 요청 보내기
- 22. GET 요청 후 파일 보내기 Node.js
- 23. 터미널에서 Google의 지오 코딩 API에 대한 요청 보내기
- 24. php에서 javascript로 문자열 보내기
- 25. Json을 서블릿에서 javascript로 보내기
- 26. blob 변수를 PHP에서 javascript로 보내기
- 27. GET 요청
- 28. GET 요청
- 29. GET 요청
- 30. Android 전화로 GET 요청
감사 대답 Node.js를 수행됩니다,하지만 어쩌면 내가 충분히 내 상황을 설명하지 않았다 계정이 나는 설정 링킹 않습니다 서비스가 없기 때문에 사용자를 내 서비스 계정에 연결하지 마십시오! 필자가 필요한 것은 사용자의 이메일을 얻는 것이 었습니다. 계정 연결을 설정하는 유일한 방법 이었지만 내 계정 연결 페이지는 "Google 페이지에 로그인"입니다. firebase에서 기능을 실행하고 있지만 GET 요청을 Google apis 중 하나를 향해 수행해야하므로 문제가되어서는 안됩니다. –
그런 다음 질문을 업데이트하여 계정 연결을 어떻게 구현했는지 확인하십시오. 일반적으로 Google은 사용자가 자신의 서버를 계정 연결 엔드 포인트로 사용하도록 허용하지 않습니다. – Prisoner
방금 게시물을 수정했습니다.이 방법이 더 명확 할 수도 있습니다. –