2014-10-01 5 views
0

google oAuth를 사용하여 로그인 페이지를 만들려고합니다. 이 때문에 clientID가 생성되었습니다. ClientID에서 나는 안드로이드 용으로 만들었습니다. 왜냐하면 나는 앱이 안드로이드 장치에서 돌아가고 있다고 믿습니다. keytooling> 안드로이드oAuth Google API를 사용하여 하이브리드 앱 만들기

내가 수행하고 SHA1와 함께 서명

다음 나는 공개 API 액세스을 만든 클라이언트 ID를 생성 -> 설치된 응용 프로그램 -

는 클라이언트 ID를 생성합니다. 이것에서 나는 안드로이드 키을 만들었습니다. com 이름과 SHA1 세부 정보를 제공했습니다. 내가 INTEL XDK을 사용하고 있기 때문에 COM 네임 팬을 쉽게 얻을 수있었습니다.

내 자바 스크립트 코드에서 URL을 생성하기 위해 이와 같은 작업을 수행했습니다.

var clientID = "client_id ="; var responeType = "& response_type = code"; var scope = "& scope = profile"; var 범위 = "& 범위 = https://www.googleapis.com/auth/calendar.readonly"; var redirectURL = "& redirect_uri = urn : ietf : wg : oauth : 2.0 : oob"; var url = "https://accounts.google.com/o/oauth2/auth?"+ 고객 ID + responeType + 범위 + redirectURL + "& approval_prompt = auto";

다음

나는이 URL에

var에 XHR = 새로운 XMLHttpRequest의 통화를 제공하는 XHRRequest을 사용했다(); xhr.open ("GET", url, false);
xhr.onload = 함수() { 경우 (xhr.readyState의 == 4 & & xhr.status의 == 200) {
CONSOLE.LOG (this.response); var resp = this.response;

} }  xhr.onerror = function(e) { 
alert("Error : "+e) } xhr.send(); 

나는 그것에 연결된 이벤트 리스너와 버튼이 있습니다. 나는 안드로이드를 처음 접하고 특히 oAuth에 익숙하다. 나는 응용 프로그램으로 전환 한 다음 붙여 넣습니다,이 코드를 복사하십시오 같은

로 오류가 모든 종류의 무엇입니까 :

내가 허락 을 요청 구글에서 어떤 로그인 페이지가 표시되지 않는 버튼을 클릭하면 하지만 나는 console.log()에 들어오는 데이터를 볼 수있다.

내가 여기서하고있는 것이 잘못된 것입니다.

html5를 사용하여 하이브리드 APp를 만드는 방법이 있다면 공유하십시오. 또한 내가 쓰거나 잘못하고 있는지 말해주십시오. 안내해주십시오.

-S

답변

0

당신은 OAuth2를이 jQuery 플러그인을 사용할 수 있습니다 https://github.com/krisrak/jquery-cordova-oauth2

그것은 Intel XDK

와 함께 작동 당신이 할 일은 당신의 OAuth 클라이언트 매개 변수와 콜백 아래의 전화를 수정입니다 전화를 걸기 위해 access_token을 갖습니다.

$.oauth2({ 
    auth_url: 'https://accounts.google.com/o/oauth2/auth', 
    response_type: 'code', 
    token_url: 'https://accounts.google.com/o/oauth2/token', 
    logout_url: 'https://accounts.google.com/logout', 
    client_id: 'CLIENT-ID-FROM-GOOGLE', 
    client_secret: 'CLIENT-SECRET-FROM-GOOGLE', 
    redirect_uri: 'http://www.yourwebsite.com/oauth2callback', 
    other_params: {scope:'profile'} 
}, function(token, response){ 
    makeAPICalls(token); 
}, function(error, response){ 
    alert(error); 
}); 
관련 문제