2013-06-16 8 views
2

이것은 내가 지금까지 가지고있는 코드입니다. get_url은 url을 구독 프록시 URL로 감싸는 헬퍼 함수로, 설정을 싫어하는 더미 서버에 전달합니다. 사용자 정의 메뉴 작업을 올바르게 구독하는 방법은 무엇입니까?

card = { 
    'text': 'click ok', 
    'menuItems': [{ 
         'action': 'CUSTOM', 
         'id': 'ready', 
         'values': [{ 
            'displayName': 'o', 
            'iconUrl': 'img.jpg' 
           }] 
        }], 
} 
self.mirror_service.timeline().insert(body=card).execute() 
callback_url = get_url(self, '/start') 
body = { # self.userid is initialized in util.auth_required. 
    'collection': self.request.get('collection', 'timeline'), 
    'userToken': self.userid, 
    'callbackUrl': callback_url 
} 

내가 구독합니다 ( list 호출을 사용하여) 생성되어 있음을 확인하지만 난 유리에 메뉴 항목을 클릭 할 때 프록시 서버가 어떤 요청을 통지보고되지 놀이터. 어떤 팁?

답변

2

callback_url이/start 대신/알림을 원할 수도 있지만 모든 프로젝트에 액세스 할 수 없다는 점은 확실하지 않습니다.

특히 구독 프록시에 대해서는 documentation에있는 json 예제가 불완전한 것 같습니다.

먼저 사용자 토큰을 일련의 숫자가 될 유효한 사용자 토큰으로 변경하십시오. 다음으로 itemId와 userActions 객체를 추가하십시오.

{ 
"callbackUrl": "https://mirrornotifications.appspot.com/forward?url=http://example.com/path/to/test.php", 
"collection": "timeline", 
"itemId": "your-item-id-here", 
"operation": "UPDATE", 
"userToken": "your-userToken-here", 
"userActions": [ 
    { 
     "type": "PIN" 
    } 
] 

}

하는 것은 너무해서 해당 itemId를 교체해야합니다 : 여기에 나를 위해 일한 JSON이다. 내 설정에서 appTogen 및 itemId를 App Engine 로그를보고 알게되었습니다.

나는 유리의 사용자가 작업을 수행 할 때 제대로 설정 사용자 지정 구독, 콜백을 얻을 것이다 확인할 수 있습니다 여기에

콜백 작업에 대한 몇 가지 일반적인 조언이다. 맞춤 코드로 보이는 콜백이 보이지 않으면 백업하고 시도해보십시오. starter project

자바와 App Engine 스타터 프로젝트를 사용하며 다음은이 설정에 도움이되는 몇 가지 사항입니다. 로그 문을 사용하고 앱을 앱 엔진에 배포 한 다음 앱 엔진 관리 콘솔에서 해당 로그 문을 보는 것이 유용합니다.

(내 경우에는 NotifyServlet.java 내의 코드) 실행중인 로그 문을 볼 수 있다면 문제가 없습니다.

커맨드 라인 Curl을 사용하여 알림 작업을 직접 호출하고, 앱 엔진에 배포하거나 유리 하드웨어를 탭하는 번거 로움없이 콜백 요청을 시뮬레이션하여이 부분을 세부적으로 조정할 수 있습니다.

또 다른 이점은 WireShark, Fiddler 또는 Charles와 같은 패킷 스니퍼를 통해 curl 명령을 프록시하면 http 트랜잭션을 쉽게보고 무슨 일이 벌어지고 있는지 디버그 할 수 있다는 것입니다.

행운을 빈다.

+0

감사 마크, 문제가있는 것 같습니다. 배포 된 앱은 실제로 tify/tify를 실행합니다. 요청을 시뮬레이트하기 위해 컬을 사용해야한다는 것을 알고 있지만 최소한 프록시에서 HTTP 요청을 로깅하여 생성 된 요청의 종류를 알 수있을 것이라고 생각했습니다. 프록시가 작동하도록 했니? – rgrinberg

+0

"프록시"란 무엇을 의미하는지 모르겠다. 나를 위해 확장 할 수 있습니까? –

+1

https://developers.google.com/glass/subscription-proxy – rgrinberg