Commit f6d4b30bcd2f3e96a41aebfd544654f316466495

Authored by Nadya Sutjiadi
Committed by GitHub
1 parent 8da3a65f

Delete channel.py

Showing 1 changed file with 0 additions and 328 deletions
LINETCR/Api/channel.py deleted
1   -# -*- coding: utf-8 -*-
2   -import os, sys, json
3   -path = os.path.join(os.path.dirname(__file__), '../lib/')
4   -sys.path.insert(0, path)
5   -import requests
6   -
7   -from thrift.transport import THttpClient
8   -from thrift.protocol import TCompactProtocol
9   -
10   -from curve import LineService
11   -from curve.ttypes import *
12   -import tempfile
13   -
14   -class Channel:
15   - client = None
16   -
17   - host = "gd2.line.naver.jp"
18   - http_query_path = "/S4"
19   - channel_query_path = "/CH4"
20   -
21   - UA = "Line/1.4.17"
22   - LA = "IOSIPAD\x097.14.0\x09iPhone_OS\x0910.12.0"
23   -
24   -
25   - authToken = None
26   - mid = None
27   - channel_access_token = None
28   - token = None
29   - obs_token = None
30   - refresh_token = None
31   -
32   - def __init__(self, authToken):
33   - self.authToken = authToken
34   - self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+self.http_query_path)
35   - self.transport.setCustomHeaders({ "User-Agent" : self.UA,
36   - "X-Line-Application" : self.LA,
37   - "X-Line-Access": self.authToken
38   - })
39   - self.transport.open()
40   - self.protocol = TCompactProtocol.TCompactProtocol(self.transport)
41   - self.client = LineService.Client(self.protocol)
42   - self.mid = self.client.getProfile().mid
43   - self.transport.path = self.channel_query_path
44   -
45   - def login(self):
46   - result = self.client.issueChannelToken("1341209850")
47   -
48   - self.channel_access_token = result.channelAccessToken
49   - self.token = result.token
50   - self.obs_token = result.obsToken
51   - self.refresh_token = result.refreshToken
52   -
53   - print "channelAccessToken:" + result.channelAccessToken
54   - print "token:" + result.token
55   - print "obs_token:" + result.obsToken
56   - print "refreshToken:" + result.refreshToken
57   -
58   - def new_post(self, text):
59   -
60   - header = {
61   - "Content-Type": "application/json",
62   - "User-Agent" : self.UA,
63   - "X-Line-Mid" : self.mid,
64   - "x-lct" : self.channel_access_token,
65   - }
66   -
67   - payload = {
68   - "postInfo" : { "readPermission" : { "type" : "ALL" } },
69   - "sourceType" : "TIMELINE",
70   - "contents" : { "text" : text }
71   - }
72   -
73   - r = requests.post(
74   - "http://" + self.host + "/mh/api/v24/post/create.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_75_0"> 75   - headers = header,
76   - data = json.dumps(payload)
77   - )
78   -
79   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_80_0"> 80   -
81   - def postPhoto(self,text,path):
82   - header = {
83   - "Content-Type": "application/json",
84   - "User-Agent" : self.UA,
85   - "X-Line-Mid" : self.mid,
86   - "x-lct" : self.channel_access_token,
87   - }
88   -
89   - payload = {
90   - "postInfo" : { "readPermission" : { "type" : "ALL" } },
91   - "sourceType" : "TIMELINE",
92   - "contents" : { "text" : text ,"media" : [{u'objectId': u'F57144CF9ECC4AD2E162E68554D1A8BD1a1ab0t04ff07f6'}]}
93   - }
94   - r = requests.post(
95   - "http://" + self.host + "/mh/api/v24/post/create.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_96_0"> 96   - headers = header,
97   - data = json.dumps(payload)
98   - )
99   -
100   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_101_0"> 101   -
102   - def like(self, mid, postid, likeType=1001):
103   -
104   - header = {
105   - "Content-Type" : "application/json",
106   - "X-Line-Mid" : self.mid,
107   - "x-lct" : self.channel_access_token,
108   - }
109   -
110   - payload = {
111   - "likeType" : likeType,
112   - "activityExternalId" : postid,
113   - "actorId" : mid
114   - }
115   -
116   - r = requests.post(
117   - "http://" + self.host + "/mh/api/v23/like/create.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_118_0"> 118   - headers = header,
119   - data = json.dumps(payload)
120   - )
121   -
122   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_123_0"> 123   -
124   - def comment(self, mid, postid, text):
125   - header = {
126   - "Content-Type" : "application/json",
127   - "X-Line-Mid" : self.mid,
128   - "x-lct" : self.channel_access_token,
129   - }
130   -
131   - payload = {
132   - "commentText" : text,
133   - "activityExternalId" : postid,
134   - "actorId" : mid
135   - }
136   -
137   - r = requests.post(
138   - "http://" + self.host + "/mh/api/v23/comment/create.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_139_0"> 139   - headers = header,
140   - data = json.dumps(payload)
141   - )
142   -
143   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_144_0"> 144   -
145   - def activity(self, limit=20):
146   -
147   - header = {
148   - "Content-Type" : "application/json",
149   - "X-Line-Mid" : self.mid,
150   - "x-lct" : self.channel_access_token,
151   - }
152   -
153   - r = requests.get(
154   - "http://" + self.host + "/tl/mapi/v21/activities?postLimit=" + str(limit),
155   - headers = header
156   - )
157   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_158_0"> 158   - def getAlbum(self, gid):
159   -
160   - header = {
161   - "Content-Type" : "application/json",
162   - "X-Line-Mid" : self.mid,
163   - "x-lct": self.channel_access_token,
164   -
165   - }
166   -
167   - r = requests.get(
168   - "http://" + self.host + "/mh/album/v3/albums?type=g&sourceType=TALKROOM&homeId=" + gid,
169   - headers = header
170   - )
171   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_172_0"> 172   - def changeAlbumName(self,gid,name,albumId):
173   - header = {
174   - "Content-Type" : "application/json",
175   - "X-Line-Mid" : self.mid,
176   - "x-lct": self.channel_access_token,
177   -
178   - }
179   - payload = {
180   - "title": name
181   - }
182   - r = requests.put(
183   - "http://" + self.host + "/mh/album/v3/album/" + albumId + "?homeId=" + gid,
184   - headers = header,
185   - data = json.dumps(payload),
186   - )
187   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_188_0"> 188   - def deleteAlbum(self,gid,albumId):
189   - header = {
190   - "Content-Type" : "application/json",
191   - "X-Line-Mid" : self.mid,
192   - "x-lct": self.channel_access_token,
193   -
194   - }
195   - r = requests.delete(
196   - "http://" + self.host + "/mh/album/v3/album/" + albumId + "?homeId=" + gid,
197   - headers = header,
198   - )
199   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_200_0"> 200   - def getNote(self,gid, commentLimit, likeLimit):
201   - header = {
202   - "Content-Type" : "application/json",
203   - "X-Line-Mid" : self.mid,
204   - "x-lct": self.channel_access_token,
205   -
206   - }
207   - r = requests.get(
208   - "http://" + self.host + "/mh/api/v27/post/list.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_209_0"> 209   - headers = header
210   - )
211   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_212_0"> 212   -
213   - def postNote(self, gid, text):
214   - header = {
215   - "Content-Type": "application/json",
216   - "User-Agent" : self.UA,
217   - "X-Line-Mid" : self.mid,
218   - "x-lct" : self.channel_access_token,
219   - }
220   - payload = {"postInfo":{"readPermission":{"homeId":gid}},
221   - "sourceType":"GROUPHOME",
222   - "contents":{"text":text}
223   - }
224   - r = requests.post(
225   - "http://" + self.host + "/mh/api/v27/post/create.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_226_0"> 226   - headers = header,
227   - data = json.dumps(payload)
228   - )
229   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_230_0"> 230   -
231   - def getDetail(self, mid):
232   - header = {
233   - "Content-Type": "application/json",
234   - "User-Agent" : self.UA,
235   - "X-Line-Mid" : self.mid,
236   - "x-lct" : self.channel_access_token,
237   - }
238   -
239   - r = requests.get(
240   - "http://" + self.host + "/ma/api/v1/userpopup/getDetail.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_241_0"> 241   - headers = header
242   - )
243   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_244_0"> 244   -
245   - def getHome(self,mid):
246   - header = {
247   - "Content-Type": "application/json",
248   - "User-Agent" : self.UA,
249   - "X-Line-Mid" : self.mid,
250   - "x-lct" : self.channel_access_token,
251   - }
252   -
253   - r = requests.get(
254   - "http://" + self.host + "/mh/api/v27/post/list.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_255_0"> 255   - headers = header
256   - )
257   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_258_0"> 258   - def getCover(self,mid):
259   - h = self.getHome(mid)
260   - objId = h["result"]["homeInfo"]["objectId"]
261   - return "http://dl.profile.line-cdn.net/myhome/c/download.nhn?userid=" + mid + "&oid=" + objId
262   - def createAlbum(self,gid,name):
263   - header = {
264   - "Content-Type": "application/json",
265   - "User-Agent" : self.UA,
266   - "X-Line-Mid" : self.mid,
267   - "x-lct" : self.channel_access_token,
268   - }
269   - payload = {
270   - "type" : "image",
271   - "title" : name
272   - }
273   - r = requests.post(
274   - "http://" + self.host + "/mh/album/v3/album?count=1&auto=0&homeId=" + gid,
275   - headers = header,
276   - data = json.dumps(payload)
277   - )
278   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_279_0"> 279   -
280   - def createAlbum2(self,gid,name,path,oid):
281   - header = {
282   - "Content-Type": "application/json",
283   - "User-Agent" : self.UA,
284   - "X-Line-Mid" : self.mid,
285   - "x-lct" : self.channel_access_token,
286   - }
287   - payload = {
288   - "type" : "image",
289   - "title" : name
290   - }
291   - r = requests.post(
292   - "http://" + self.host + "/mh/album/v3/album?count=1&auto=0&homeId=" + gid,
293   - headers = header,
294   - data = json.dumps(payload)
295   - )
296   - #albumId = r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_297_0"> 297   -
298   -
299   - #h = {
300   - # "Content-Type": "application/x-www-form-urlencoded",
301   - # "User-Agent" : self.UA,
302   - # "X-Line-Mid" : gid,
303   - # "X-Line-Album" : albumId,
304   - # "x-lct" : self.channel_access_token,
305   - #"x-obs-host" : "obs-jp.line-apps.com:443",
306   -
307   - #}
308   - #print r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_309_0"> 309   - #files = {
310   - # 'file': open(path, 'rb'),
311   - #}
312   - #p = {
313   - # "userid" : gid,
314   - # "type" : "image",
315   - # "oid" : oid,
316   - # "ver" : "1.0"
317   - #}
318   - #data = {
319   - # 'params': json.dumps(p)
320   - #}
321   - #r = requests.post(
322   - #"http://obs-jp.line-apps.com/oa/album/a/object_info.nhn:443",
323   - #headers = h,
324   - #data = data,
325   - #files = files
326   - #)
327   - return r.js"line_holder old" id="e9a7ebc16536051232b3b809970f5248475e8fcc_328_0"> 328   - #cl.createAlbum("cea9d61ba824e937aaf91637991ac934b","ss3ai","kawamuki.png")