|
@@ -49,12 +49,12 @@ class deviceStatus(TemplateView):
|
|
|
return JsonResponse({'code':404,'msg':'not found'})
|
|
|
if operation == 'saveAccessToken':
|
|
|
return self.saveAccessToken(request_dict, response)
|
|
|
- # 付款完成
|
|
|
+ if operation == 'addOrUpdate':
|
|
|
+ return self.addOrUpdate(request_dict, response)
|
|
|
+ if operation == 'delete':
|
|
|
+ return self.delete(request_dict, response)
|
|
|
elif operation == 'test':
|
|
|
- return JsonResponse({'code':404,'msg':'not found'})
|
|
|
- return self.test(request_dict, response)
|
|
|
-
|
|
|
-
|
|
|
+ return self.discover(request_dict, response)
|
|
|
|
|
|
|
|
|
def saveAccessToken(self,request_dict, response):
|
|
@@ -72,12 +72,14 @@ class deviceStatus(TemplateView):
|
|
|
access_token = access_token,
|
|
|
refresh_token = refresh_token,
|
|
|
token = token,
|
|
|
+ expiresTime = nowTime + 3200,
|
|
|
addTime=nowTime,
|
|
|
updTime=nowTime)
|
|
|
else:
|
|
|
alexAuth.update(
|
|
|
access_token = access_token,
|
|
|
refresh_token = refresh_token,
|
|
|
+ expiresTime = nowTime + 3200,
|
|
|
token = token,
|
|
|
updTime=nowTime
|
|
|
)
|
|
@@ -85,11 +87,32 @@ class deviceStatus(TemplateView):
|
|
|
|
|
|
def discover(self,request_dict, response):
|
|
|
userID = 158943604783713800138000
|
|
|
+ token = 'cGSOD01pi2BICtGd1SVdjegwrVKV1Kmn'
|
|
|
+ alexAuth = AlexaAuthModel.objects.filter(token=token)
|
|
|
+ if not alexAuth.exists():
|
|
|
+ return JsonResponse({'code':200,'msg':'fail'})
|
|
|
+ else:
|
|
|
+ res = alexAuth.values()
|
|
|
+ access_token = res[0]['access_token']
|
|
|
+ refresh_token = res[0]['refresh_token']
|
|
|
+ token = res[0]['token']
|
|
|
+ return JsonResponse({'code':200,'msg':res[0]['access_token']})
|
|
|
+
|
|
|
|
|
|
- def test(self,request_dict, response):
|
|
|
+ def addOrUpdate(self,request_dict, response):
|
|
|
+ UID = request_dict.get("UID", '')
|
|
|
+ userID = request_dict.get("userID", '')
|
|
|
+ uid_nick = request_dict.get("uid_nick", '')
|
|
|
+
|
|
|
+ if UID != '' and userID != '' and uid_nick != '':
|
|
|
+ return JsonResponse({'code':200,'msg':'success'})
|
|
|
+ else:
|
|
|
+ return JsonResponse({'code':200,'msg':'fail'})
|
|
|
+
|
|
|
+ access_token = 'xx'
|
|
|
api_uri = 'https://api.amazonalexa.com/v3/events'
|
|
|
messageId = str(uuid.uuid4())
|
|
|
- access_token = 'Atza|IwEBIGZVV6GPFAXf1_ySVAZkOfGc2j0rNhAnGW8dQ71KVnBY9XmKoi5xd1742t-64FLiM27ErgW_D9sqfAd2A69F1o63_HyPeTfP1_CpgYj6ohGGoMTAN9id58PBOyXtqoJr698luykXb8cT30LBxTqU8zYcmxwJfMzyr2Mxz6KkNtusSB4mHBEkfmQ-xkZ_87G0sUscbVokLnkd676kQAuPzmuYzY_nLLbkR28x8ohh0F9lGZYyEJjyg8-VXdoqWBMfEYxgCnQo76FOXXDFyVEPg6ZC'
|
|
|
+ access_token = access_token
|
|
|
bearer_access_token = 'Bearer {access_token}'.format(access_token=access_token)
|
|
|
headers = {'content-type': "application/json", 'Authorization': bearer_access_token}
|
|
|
payload = {
|
|
@@ -103,10 +126,10 @@ class deviceStatus(TemplateView):
|
|
|
"payload": {
|
|
|
"endpoints": [
|
|
|
{
|
|
|
- "endpointId": "HVTLKFJM6KDTAF9J111A",
|
|
|
- "manufacturerName": "Sample Manufacturer",
|
|
|
- "description": "Smart Light by Sample Manufacturer",
|
|
|
- "friendlyName": "Kitchen Light",
|
|
|
+ "endpointId": UID,
|
|
|
+ "manufacturerName": "zosi smart",
|
|
|
+ "description": "Camera connected via zosi smart",
|
|
|
+ "friendlyName": uid_nick,
|
|
|
"displayCategories": [
|
|
|
"CAMERA"
|
|
|
],
|
|
@@ -130,7 +153,6 @@ class deviceStatus(TemplateView):
|
|
|
"version": "3",
|
|
|
"proactivelyReported": True,
|
|
|
# "retrievable": True
|
|
|
-
|
|
|
}
|
|
|
]
|
|
|
}
|
|
@@ -146,6 +168,13 @@ class deviceStatus(TemplateView):
|
|
|
request_json = response.json()
|
|
|
return JsonResponse({'res': request_json})
|
|
|
|
|
|
+ def delete(self,request_dict, response):
|
|
|
+ UID = request_dict.get("UID", '')
|
|
|
+ if UID != '':
|
|
|
+ return JsonResponse({'code':200,'msg':'success'})
|
|
|
+ else:
|
|
|
+ return JsonResponse({'code':200,'msg':'fail'})
|
|
|
+
|
|
|
|
|
|
def post_to_api(self, payload):
|
|
|
connection = http.client.HTTPSConnection("api.amazon.com")
|