내가 사용하려고 거울 API를 - 파이썬 - CLI 구글 유리에 라즈베리 파이에서 타임 라인 카드를 보내도록 명령 줄 인터페이스를. get-credentials.py의 코드를 사용하여 내 애플리케이션 클라이언트 ID 및 시크릿으로 Google에 연결하는 첫 번째 단계를 완료 할 수 있습니다. 이 코드는 코드를 얻기 위해 인증 URL로 이동하라는 메시지를 표시하고 코드를 입력하면 access_token 및 refresh_token을 포함한 인증 정보로 자격 증명 파일을 올바르게 채 웁니다.
그런 다음 두 번째 파일 인 send-to-glass.py에서 코드를 실행하여 'hello world'메시지를 Google Glass 타임 라인에 전달합니다. 오류 메시지가 나타나지 않지만 Glass에서 아무것도받지 못합니다.
Google 플레이 그라운드를 사용하여 애플리케이션 용으로 별도의 웹 클라이언트를 만들었으며, 타임 라인에 카드를 보낼 수 있으므로 Google 애플리케이션 측에 문제가 없음을 알 수 있습니다.
또한 insert_timeline_item 호출을 인쇄했으며 문제가 어디에 있는지에 대한 단서를 제공 할 수 있다고 생각합니다. json 응답의 성 값 쌍은 URL이 https://www.googleapis.com/mirror/v1/timeline/xxxxxx 인 selfLink입니다 . 여기서 xxxxxx는 id 값입니다. 이 URL을 따라 가면 다음을 얻습니다.
{ "error": { "errors": [{ "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", "location": "Authorization" }], "code": 401, "message": "Login Required" }}
---------- 업데이트 ----------
Jenny가 제안한 것처럼 새로운 액세스 토큰과 함께 CURL을 사용했습니다. 나는 CURL에 익숙하지 않다는 것을 인정해야하므로 작동시키기 위해 몇 번의 시도가 필요했습니다. 먼저 주소가 확인되지 않았기 때문에 googleapis 앞에 www를 추가 한 다음 SSL이 필요하다는 불평이있어서 https를 앞에 추가 한 다음 인증서에 대해 불평하여 -k 매개 변수를 추가하고 마지막으로 시도했습니다. Bearer와 내 액세스 토큰을 주소로 확인하여 작은 따옴표 대신 큰 따옴표를 사용했습니다. 여기 멍청한 소리로 웃어도 좋지만 아마도 이것은 미래의 누군가를 도울 수 있습니다!
내 마지막 curl 명령은 다음과 같습니다.
{ curl -H "Authorization: Bearer MY-ACCESS-TOKEN" https://www.googleapis.com/mirror/v1/timeline -k }
결과는 내가 Raspberry Pi에서 보내려고 시도한 모든 타임 라인 카드처럼 보이는 json의 전체 부하와 함께 돌아 왔습니다. 모든 항목을 나열하지는 않지만 json의 상단은 다음과 같습니다.
{"kind": "mirror#timeline", "nextPageToken": "LONG-STRING-OF-CHARACTERS",
"items": [
{
"kind": "mirror#timelineItem",
"id": "ITEM-ID",
"selfLink": "https://www.googleapis.com/mirror/v1/timeline/ITEM-ID",
"created": "2014-04-19T01:40:40.597Z",
"updated": "2014-04-19T01:40:40.597Z",
"etag": "1397871640597",
"text": "Hello World",
"notification": {
"level": "DEFAULT"
}
},
{ ... }
그래서 어떻게 든 카드가 내 타임 라인에 도달했지만 Glass로 전달되지 않는 것처럼 보입니다. 다시 말해, 동일한 프로젝트에 대해 놀이터에서 웹 클라이언트를 사용하여 Glass로 카드가 전달되는 것을 볼 수있었습니다.
그래서 이것은 조금 당황 스럽습니다. 저는 문제가 무엇인지 정확히 발견했습니다. 이 모든 운동은 제 아들이하고있는 과학 박람회 프로젝트와 관련이 있습니다. 그는 Google 계정을 통해 로그온 한 WebIDE를 통해 Raspberry Pi를 프로그래밍하고있었습니다. 별도의 Chrome 브라우저에서 내 Google 계정을 통해 Glass에 액세스하도록 프로젝트를 설정했습니다. Raspberry Pi에서 get-credentials.py를 실행할 때마다 승인을 위해 URL을 브라우저에 복사하라고 지시 할 때마다 아들의 Google 계정을 사용하여이 작업을 수행했습니다. 자격 증명이 올바르게 저장되고 카드가 타임 라인을 올바르게 채우고 있었지만 모두 내 아들의 Google 계정에 위배되며 그는 Glass가 없습니다!
get-credentials.py를 다시 실행하고 내 계정과 연결된 브라우저 세션에서 URL을 실행했습니다. 코드를 다시 Pi로 복사했고 이제 send-to-glass.py가 완벽하게 작동합니다. 내 아들은 내가 바보라고 생각하고 그로 인해 많은 웃음을 얻고 있지만 모든 것이 지금 작동하고 있음을보고하게되어 기쁩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다