@@ -57,10 +57,8 @@ def login(self, force = False):
57
57
'login_attempt_count' : '0' }
58
58
59
59
if (self .SendRequest ('accounts/login/' , self .generateSignature (json .dumps (data )), True )):
60
- print ("Login success!" )
61
60
self .isLoggedIn = True
62
61
self .username_id = self .LastJson ["logged_in_user" ]["pk" ]
63
- print (self .username_id )
64
62
self .rank_token = "%s_%s" % (self .username_id , self .uuid )
65
63
self .token = self .LastResponse .cookies ["csrftoken" ]
66
64
@@ -69,7 +67,7 @@ def login(self, force = False):
69
67
self .timelineFeed ()
70
68
self .getv2Inbox ()
71
69
self .getRecentActivity ()
72
-
70
+ print ( "Login success! \n " )
73
71
return True ;
74
72
75
73
def tagFeed (self , tag ):
@@ -239,20 +237,86 @@ def deleteComment(self, mediaId, captionText, commentId):
239
237
})
240
238
return self .SendRequest ("media/" + str (mediaId ) + "/comment/" + str (commentId ) + "/delete/" , self .generateSignature (data ))
241
239
242
- def changeProfilePicture (photo ):
240
+ def changeProfilePicture (self , photo ):
243
241
# TODO Instagram.php 705-775
244
242
return False
245
243
246
- def getv2Inbox (self ):
247
- inbox = self .SendRequest ('direct_v2/inbox/?' )
248
- # TODO Instagram.php 950-960
249
- return inbox
244
+ def removeProfilePicture (self ):
245
+ data = json .dumps ({
246
+ '_uuid' : self .uuid ,
247
+ '_uid' : self .username_id ,
248
+ '_csrftoken' : self .token
249
+ })
250
+ return self .SendRequest ("accounts/remove_profile_picture/" , self .generateSignature (data ))
251
+
252
+ def setPrivateAccount (self ):
253
+ data = json .dumps ({
254
+ '_uuid' : self .uuid ,
255
+ '_uid' : self .username_id ,
256
+ '_csrftoken' : self .token
257
+ })
258
+ return self .SendRequest ("accounts/set_private/" , self .generateSignature (data ))
259
+
260
+ def setPublicAccount (self ):
261
+ data = json .dumps ({
262
+ '_uuid' : self .uuid ,
263
+ '_uid' : self .username_id ,
264
+ '_csrftoken' : self .token
265
+ })
266
+ return self .SendRequest ("accounts/set_public/" , self .generateSignature (data ))
267
+
268
+ def getProfileData (self ):
269
+ data = json .dumps ({
270
+ '_uuid' : self .uuid ,
271
+ '_uid' : self .username_id ,
272
+ '_csrftoken' : self .token
273
+ })
274
+ return self .SendRequest ("accounts/current_user/?edit=true" , self .generateSignature (data ))
275
+
276
+ def editProfile (self , url , phone , first_name , biography , email , gender ):
277
+ data = json .dumps ({
278
+ '_uuid' : self .uuid ,
279
+ '_uid' : self .username_id ,
280
+ '_csrftoken' : self .token ,
281
+ 'external_url' : url ,
282
+ 'phone_number' : phone ,
283
+ 'username' : self .username ,
284
+ 'full_name' : first_name ,
285
+ 'biography' : biography ,
286
+ 'email' : email ,
287
+ 'gender' : gender ,
288
+ })
289
+ return self .SendRequest ("accounts/edit_profile/" , self .generateSignature (data ))
290
+
291
+ def getUsernameInfo (self , usernameId ):
292
+ return self .SendRequest ("users/" + str (usernameId ) + "/info/" )
250
293
251
294
def getRecentActivity (self ):
252
295
activity = self .SendRequest ('news/inbox/?' )
253
296
# TODO Instagram.php 911-925
254
297
return activity
255
298
299
+ def getFollowingRecentActivity (self ):
300
+ activity = self .SendRequest ('news/?' )
301
+ # TODO Instagram.php 935-945
302
+ return activity
303
+
304
+ def getv2Inbox (self ):
305
+ inbox = self .SendRequest ('direct_v2/inbox/?' )
306
+ # TODO Instagram.php 950-960
307
+ return inbox
308
+
309
+ def getUserTags (self , usernameId ):
310
+ tags = self .SendRequest ('usertags/' + str (usernameId ) + '/feed/?rank_token=' + self .rank_token + '&ranked_content=true&' )
311
+ # TODO Instagram.php 975-985
312
+ return tags
313
+
314
+ def getSelfUserTags (self ):
315
+ return self .getUserTags (self .username_id )
316
+
317
+ def getSelfUsernameInfo (self ):
318
+ return self .getUsernameInfo (self .username_id )
319
+
256
320
InstagramAPI = InstagramAPI ("login" , "password" )
257
321
InstagramAPI .login () # login
258
322
InstagramAPI .tagFeed ("cat" ) # get media list by tag #cat
0 commit comments