2016-09-12 5 views
0

Google의 Beacon Proximity API를 사용하려고합니다. 나는 그들을 통합하는 단계를 수행 따랐다 : 그 후Google Proximity Beacon API에서 403 번 무단 오류를냅니다.

1) Signed up on Google Api Console. 
2) Created new Project. 
3) enabled Beacon proximity api and Nearby Api. 
4) Generated Api key from Credentials. 

난 다음 API를 호출 :

{ 
    "advertisedId": { 
    "type": "EDDYSTONE", 
    "id": "ABEiM0RVZneImaq7zN3u/w==" 
    }, 
    "status": "ACTIVE", 
    "placeId": "ChIJL_P_CXMEDTkRw0ZdG-0GVvw", 
    "latLng": { 
    "latitude": "71.6693771", 
    "longitude": "-22.1966037" 
    }, 
    "indoorLevel": { 
    "name": "1" 
    }, 
    "expectedStability": "STABLE", 
    "description": "An example beacon.", 
    "properties": { 
    "position": "entryway" 
    } 
} 
follwing을 URL로

:

https://proximitybeacon.googleapis.com/v1beta1/beacons:register?key=xxxx(my_api_key) 

하지만 응답은 말한다 :

{ 
    "error": { 
    "code": 403, 
    "message": "Unauthorized.", 
    "status": "PERMISSION_DENIED" 
    } 
} 

무엇입니까? 내가 놓친 것을 ..

I also tried to use Beacon tools app but after entering EID and all other credentials..the App crashes(on android), while it is not able to connect to my eddystone on Ios. 
+0

당신이 당신의 실제 API를 사용 했 beacon.json으로이 호출의 몸을 설정 URL의 끝에 열쇠? –

+0

예 (실제 값을 사용함) 방금 여기 트리밍했습니다 .. 다른 방법으로 잘못된 Api_key 오류가 발생했습니다. –

답변

0

등록하고 우리는 클라이언트 ID와 클라이언트 비밀 키가 필요 업데이트하고 OAuth2를에 등록 할 수 있습니다하는 동안 솔루션, API_KEY는, 액세스 이미 등록 비콘과 특성에만 사용할 수 있습니다 찾을 수 .0 놀이터. 내게 도움이되었습니다.)

0

Google API 콘솔에서 계정 서비스 키를 만든 후 서비스 토큰을 가져올 수 있습니다. 그런 다음

String token = null; 

try{ 
    GoogleCredential credential = GoogleCredential.fromStream(accesKey).createScoped 
        (Collections.singleton("https://www.googleapis.com/auth/userlocation.beacon.registry")); 


    credential.refreshToken(); 
    token = credential.getAccessToken(); 

} catch (FileNotFoundException ex) { 
     Logger.getLogger(BeaconRegisterClass.class.getName()).log(Level.SEVERE, null, ex); 
} catch (IOException ex) { 
     Logger.getLogger(BeaconRegisterClass.class.getName()).log(Level.SEVERE, null, ex); 
} 

를 통화의 헤더에 넣어 : 그런 다음이 코드로 생성

key: Authorization value: Bearer (your token here)