-
Notifications
You must be signed in to change notification settings - Fork 1
/
getFromLine.py
82 lines (75 loc) · 3.14 KB
/
getFromLine.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# -*- coding: utf-8 -*-
from google.appengine.api import urlfetch
from google.appengine.api import memcache
import json
import const
import logging
import urllib
import utility
import uuid
#def getPrevious(messageId):
# url = "https://trialbot-api.line.me/v1/bot/message/"+messageId+"/content/preview"
# result = urlfetch.fetch(
# url=url,
# method=urlfetch.GET,
# headers={
# 'Authorization': 'Bearer '+const.ChannelAccessToken
# }
# )
# if result.status_code == 200:
# logging.debug(result.content)
# else:
# logging.debug(result.content)
# return result.content
# TODO: 本ファイルはutility系に統合
def getUserProfine(mid):
# midstr= ','.join(mids)
url = "https://api.line.me/v2/bot/profile/"+mid
result = urlfetch.fetch(
url=url,
method=urlfetch.GET,
headers={
'Authorization': 'Bearer '+const.ChannelAccessToken
}
)
if result.status_code == 200:
logging.debug(result.content)
else:
logging.debug(result.content)
jsonstr = result.content
jsonobj = json.loads(jsonstr)
return jsonobj
def returnContent(self):
logging.debug(self.request.path)
picture_key= self.request.path[9:73]
originalid= self.request.path[74:]
logging.debug(picture_key+" "+ " "+originalid)
if originalid == None:
logging.debug("URL Failure("+picture_key+")")
self.response.status = 301
self.response.headers['Location'] ="https://ifttt-line.appspot.com/images/preview_image.jpg?"+str(uuid.uuid4())
elif picture_key == utility.getHash(originalid):
url = "https://api.line.me/v2/bot/message/"+originalid+"/content"
result = urlfetch.fetch(
url=url,
method=urlfetch.GET,
headers={
'Authorization': 'Bearer '+const.ChannelAccessToken
}
)
logging.debug(result.headers)
if result.status_code == 200:
logging.debug(result.content)
self.response.headers['Content-Type'] = result.headers['Content-Type']
if result.headers.has_key("content-disposition"):
self.response.headers['content-disposition'] = result.headers['content-disposition']
self.response.headers['date'] = result.headers['date']
self.response.headers['content-length'] = result.headers['content-length']
self.response.out.write(result.content)
else:
logging.debug("Content Load Error")
logging.debug(result.content)
self.response.status = 301
self.response.headers['Location'] ="https://ifttt-line.appspot.com/images/preview_image.jpg?"+str(uuid.uuid4())
else:
logging.debug("Key Failure")