파이썬, 요청 및 AVS (API의 버전 20160207)에 대한 HTTP/2 지원을위한 하이퍼 HTTP20Adapter를 사용하여 HTTP/2 연결을 만들려고합니다. 나는 비슷한 질문을 here라고 물었고, 나의 주된 문제가 HTTP/2를 지원하지 않는 요청에서 왔다고 판단했다. - 나는 하이퍼 모듈을 사용하여 그것을 고쳤다 고 생각한다.AVS V2 HTTP2 연결 설정
Amazon's instructions은 다운 스트림 스트림을 말하며, 동일한 연결에서 이벤트를 말합니다.
이 두 요청을 보내는에서 내 시도 :
INVALID_REQUEST_EXCEPTION, description: No multipart body found in the payload.
이 내가있는 data=json.dumps(spayload)
라인을 꺼내 경우에도 지속 : 나는 일관되게이 오류 메시지를 받고 있어요 그러나
downstream = requests.Session()
downstream.mount('https://avs-alexa-na.amazon.com', HTTP20Adapter())
qheader = {"authorization": "Bearer " + ACCESS_KEY}
sheader = {"authorization": "Bearer " + ACCESS_KEY, "Content-Disposition": "form-data; name=metadata","Content-Type": "application/json; charset=UTF-8"}
spayload = {"context": [],"event": {"header":{"namespace":"System","name":"SynchronizeState","messageId":"SyncState",},"payload": {}}}
q = downstream.get("https://avs-alexa-na.amazon.com/v20160207/directives", headers=qheader, stream=True)
s = downstream.post("https://avs-alexa-na.amazon.com/v20160207/events", headers=sheader, data=json.dumps(spayload)
을 post
을 요청하고 json = spayload
으로 바꿉니다.
1) 내가 지시에 따라 나는 "동일한 연결"에 모두 요청을 만들고있어 모르겠어요 :
나는 두 가지 질문이 있습니다. 나는 (나는requests.Session()
이 그것을 돌 보았다고 생각했지만 ...)? 그렇지 않다면, 어떻게해야합니까?
2) "페이로드에 다중 본체가 없습니다"메시지는 어떻게 해결합니까? 나는 그들의 example SynchronizeState event을 정확하게 보냈다. 그리고 그것은 특별히 빈 유료 하중을 포함한다고 말했다.
미리 도움을 청하십시오! 아무거나는 평가된다!