コード例 #1
0
ファイル: _Events.py プロジェクト: granpk/SOL
     def getPosts(self, token=None, dateMin="", dateMax="", limit=100, timeout=(5,5), maxRetries=50):
         '''
         Reference: https://developers.facebook.com/docs/graph-api/reference/event/feed
         '''
         if (token==None):
             token=_Actions.Actions.token

         params={}
         if (token == None):
            token = _Actions.Actions.token
         if (dateMin!="" and dateMax!="" and dateMin > dateMax):
            raise Exception("Cannot use dateMin > dateMax")
         if (dateMax != ""):
            params["until"]=dateMax

         r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.5/"+self.id+"/feed?fields=id,caption,created_time,description,feed_targeting,from,icon,is_hidden,is_published,link,message,message_tags,name,object_id,parent_id,picture,place,privacy,properties,shares,source,status_type,story,targeting,to,type,updated_time,with_tags&limit=100&access_token="+token, timeout=timeout).json()

         lista = list()
         while ("data" in r and len(r["data"]) > 0):
            for a in r["data"]:
                post=_Post_Facebook.Post_Facebook(dictionary=a)
                if ((len(lista)==limit) or (dateMin!="" and parse(post.created_time).replace(tzinfo=None)<dateMin)):
                    return lista
                lista.append(post)
            if ("next" in r["paging"]):
                r = _Utility.prepareRequest(maxRetries).get(r["paging"]["next"], timeout=timeout).json()
            else:
                break
         return lista
コード例 #2
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
     def getPosts(self, token=None, dateMin="", dateMax="", limit=100, timeout=(5,5), maxRetries=50):
         '''
         Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/page/feed
         '''
         if (token==None):
             token=_Actions.Actions.token

         params={}
         if (token == None):
            token = _Actions.Actions.token
         if (dateMin!="" and dateMax!="" and dateMin > dateMax):
            raise Exception("Cannot use dateMin > dateMax")
         if (dateMax != ""):
            params["until"]=dateMax

         r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.5/"+self.id+"/feed?fields=id,caption,created_time,description,feed_targeting,from,icon,is_hidden,is_published,link,message,message_tags,name,object_id,parent_id,picture,place,privacy,properties,shares,source,status_type,story,targeting,to,type,updated_time,with_tags&limit=100&access_token="+token, timeout=timeout).json()
        # print(r)
         lista = list()
         while ("data" in r and len(r["data"]) > 0):
            for a in r["data"]:
                post=_Post_Facebook.Post_Facebook(dictionary=a)
                if ((len(lista)==limit) or (dateMin!="" and parse(post.created_time).replace(tzinfo=None)<dateMin)):
                    return lista
                lista.append(post)
            if ("next" in r["paging"]):
                r = _Utility.prepareRequest(maxRetries).get(r["paging"]["next"], timeout=timeout).json()
            else:
                break
         return lista
コード例 #3
0
ファイル: _Live_Videos.py プロジェクト: granpk/DSLFacebook
     def getComments(self,token=None, timeout=(5,5), maxRetries=50):
         if (token==None):
            token=_Actions.Actions.token

         r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Comments?fields=id,attachment,can_comment,can_remove,can_like,comment_count,created_time,from,like_count,message,message_tags,object,parent,user_likes,is_hidden&access_token="+token, timeout=timeout).json()
         lista=list()
         while ("data" in r and len(r["data"])>0):
             for a in r["data"]:
                 lista.append(_Comment.Comment(dictionary=a))
             if ("next" in r["paging"]):
                 r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
             else:
                 break
         return lista
コード例 #4
0
ファイル: _Live_Videos.py プロジェクト: granpk/DSLFacebook
 def getLikes(self,token=None, timeout=(5,5), maxRetries=50):
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/likes?&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_User.FacebookUser(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #5
0
ファイル: _Albums.py プロジェクト: granpk/DSLFacebook
 def getPhotos(self, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/album/photos
     '''
     if (token==None):
         token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Photos?fields=id,album,backdated_time,backdated_time_granularity,can_delete,can_tag,created_time,from,height,icon,images,link,name,name_tags,page_story_id,picture,place,updated_time,width&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Photo.Photo(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #6
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getVideos(self, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/event/videos/
     '''
     if (token==None):
         token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Videos?fields=backdated_time,backdated_time_granularity,id,created_time,description,embed_html,format,from,icon,is_instagram_eligible,length,permalink_url,picture,place,privacy,source,status,updated_time&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Video.Video(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #7
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getComments(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/event/comments/
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Comments?fields=id,attachment,can_comment,can_remove,can_like,comment_count,created_time,from,like_count,message,message_tags,object,parent,user_likes,is_hidden&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Comment.Comment(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #8
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getPhotos(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/photos/
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/photos?access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Photo.Photo(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #9
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getVideos(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/videos/
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/videos?fields=backdated_time,backdated_time_granularity,id,created_time,description,embed_html,format,from,icon,is_instagram_eligible,length,permalink_url,picture,place,privacy,source,status,updated_time&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Video.Video(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #10
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getEvents(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/events/
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/events?fields=id,can_guests_invite,cover,description,end_time,guest_list_enabled,is_page_owned,is_viewer_admin,name,owner,parent_group,start_time,ticket_uri,timezone,updated_time&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Events.Events(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #11
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getAlbums(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/albums/
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/albums?fields=id,can_upload,count,cover_photo,created_time,description,event,from,link,location,name,place,privacy,type,updated_time&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Albums.Albums(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #12
0
ファイル: _Albums.py プロジェクト: granpk/DSLFacebook
 def postLike(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/object/likes
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).post("https://graph.facebook.com/v2.6/"+self.id+"/likes?&access_token="+token, timeout=timeout).json()
     return str(r)
コード例 #13
0
ファイル: _Photo.py プロジェクト: granpk/DSLFacebook
 def delete(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/photo
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).post("https://graph.facebook.com/v2.6/"+self.id+"?&access_token="+token+"&method=delete", timeout=timeout).json()
     return str(r)
コード例 #14
0
ファイル: _Group.py プロジェクト: granpk/DSLFacebook
 def getDocs(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/group/docs
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/docs?fields=id,from,subject,message,icon,created_time,updated_time,revision,can_edit,can_delete&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Group_Doc.Group_Doc(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #15
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getAttending(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     User: https://developers.facebook.com/docs/graph-api/reference/event/attending/
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Attending?&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_User.FacebookUser(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #16
0
ファイル: _Group.py プロジェクト: granpk/DSLFacebook
 def getFiles(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/group/files
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/files?fields=id,from,group,download_link,updated_time&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(a)
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #17
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getPhotos(self, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/event/photos/
     '''
     import SolFB._Photo as _Photo
     if (token==None):
         token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Photos?fields=id,album,backdated_time,backdated_time_granularity,can_delete,can_tag,created_time,from,height,icon,images,link,name,name_tags,page_story_id,picture,place,updated_time,width&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Photo.Photo(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #18
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getLive_Videos(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/event/live_videos/
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/live_videos?fields=id,broadcast_start_time,creation_time,description,from,is_reference_only,live_views,permalink_url,seconds_left,status,title,total_views,video&access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(_Live_Videos.Live_Videos(dictionary=a))
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #19
0
 def deleteLike(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/object/likes
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).post("https://graph.facebook.com/v2.6/"+self.id+"/likes?&access_token="+token+"&method=delete", timeout=timeout).json()
     return str(r)
コード例 #20
0
 def getCommentCount(self, token=None, timeout=(5, 5), maxRetries=50):
     if (token == None):
         token = _Actions.Actions.token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "?fields=comments.summary(true)&access_token=" + token,
         timeout=timeout).json()
     return r["comments"]["summary"]["total_count"]
コード例 #21
0
ファイル: _Events.py プロジェクト: granpk/SOL
 def getPicture(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/event/picture/
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Picture?fields=height,is_silhouette,url,width&redirect=0&type=large&access_token="+token, timeout=timeout).json()
     return r["data"]["url"]
コード例 #22
0
 def getInfo(self, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/comment
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"?&access_token="+token, timeout=timeout).json()
     c=Comment(dictionary=r)
     return c;
コード例 #23
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getRoles(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/page/roles
     '''
     if (token==None and (self.access_token=="" or self.access_token==None)):
         raise Exception("This action requires a page token")
     if (token==None):
        token=self.access_token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/roles?access_token="+token, timeout=timeout).json()
     lista=list()
     while ("data" in r and len(r["data"])>0):
         for a in r["data"]:
             lista.append(a)
         if ("next" in r["paging"]):
             r=_Utility.prepareRequest(maxRetries=maxRetries).get(r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #24
0
 def getLikes(self, token=None, timeout=(5, 5), maxRetries=50):
     if (token == None):
         token = _Actions.Actions.token
     #print("token="+str(token))
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/likes?&access_token=" + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(_User.FacebookUser(dictionary=a))
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #25
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getPicture(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/picture/
     '''
     if (token==None):
        token=_Actions.Actions.token
     #print("token="+str(token))
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/Picture?fields=height,is_silhouette,url,width&redirect=0&type=large&access_token="+token, timeout=timeout).json()
     return r["data"]["url"]
コード例 #26
0
ファイル: _Photo.py プロジェクト: granpk/DSLFacebook
 def getInfo(self, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/photo
     '''
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"?fields=id,album,backdated_time,backdated_time_granularity,can_delete,can_tag,created_time,from,height,icon,images,link,name,name_tags,page_story_id,picture,place,updated_time,width&access_token="+token, timeout=timeout).json()
     c=Photo(dictionary=r)
     return c;
コード例 #27
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def getLikesCount(self,token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/insights/
     '''
     if (token==None and (self.access_token=="" or self.access_token==None)):
         raise Exception("This action requires a page token")
     if (token==None):
        token=self.access_token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"/insights/page_fans/lifetime?&access_token="+token, timeout=timeout).json()
     return r["data"][0]["values"][0]["value"]
コード例 #28
0
ファイル: _Page.py プロジェクト: granpk/DSLFacebook
 def postAlbum(self,token=None, name="MyAlbum", message="", timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/page/albums/
     '''
     if (token==None and (self.access_token=="" or self.access_token==None)):
         raise Exception("This action requires a page token")
     if (token==None):
        token=self.access_token
     params={"message":message,"name":name}
     r=_Utility.prepareRequest(maxRetries=maxRetries).post("https://graph.facebook.com/v2.6/"+self.id+"/albums?access_token="+token,params=params, timeout=timeout).json()
     return r
コード例 #29
0
 def getPhotos(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/page/photos/
      '''
     if (token == None):
         token = _Actions.Actions.token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/photos?access_token=" + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(_Photo.Photo(dictionary=a))
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #30
0
 def update(self,message=None, token=None, timeout=(5,5), maxRetries=50):
     '''
     Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/comment
     '''
     if (token==None):
        token=_Actions.Actions.token
     if message==None:
         message=self.message
     params={"message":message}
     r=_Utility.prepareRequest(maxRetries=maxRetries).post("https://graph.facebook.com/v2.6/"+self.id+"?&access_token="+token,params=params, timeout=timeout).json()
     return str(r)
コード例 #31
0
 def getEvents(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/page/events/
      '''
     if (token == None):
         token = _Actions.Actions.token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/events?fields=id,can_guests_invite,cover,description,end_time,guest_list_enabled,is_page_owned,is_viewer_admin,name,owner,parent_group,start_time,ticket_uri,timezone,updated_time&access_token="
         + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(_Events.Events(dictionary=a))
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #32
0
 def getAlbums(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/page/albums/
      '''
     if (token == None):
         token = _Actions.Actions.token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/albums?fields=id,can_upload,count,cover_photo,created_time,description,event,from,link,location,name,place,privacy,type,updated_time&access_token="
         + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(_Albums.Albums(dictionary=a))
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #33
0
 def getInfo(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/photo
      '''
     if (token == None):
         token = _Actions.Actions.token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "?fields=id,album,backdated_time,backdated_time_granularity,can_delete,can_tag,created_time,from,height,icon,images,link,name,name_tags,page_story_id,picture,place,updated_time,width&access_token="
         + token,
         timeout=timeout).json()
     c = Photo(dictionary=r)
     return c
コード例 #34
0
ファイル: _Group.py プロジェクト: granpk/SOL
 def getDocs(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/group/docs
      '''
     if (token == None):
         token = _Actions.Actions.token
     #print("token="+str(token))
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/docs?fields=id,from,subject,message,icon,created_time,updated_time,revision,can_edit,can_delete&access_token="
         + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(_Group_Doc.Group_Doc(dictionary=a))
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #35
0
ファイル: _Group.py プロジェクト: granpk/SOL
 def getFiles(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/group/files
      '''
     if (token == None):
         token = _Actions.Actions.token
     #print("token="+str(token))
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/files?fields=id,from,group,download_link,updated_time&access_token="
         + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(a)
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #36
0
 def getRoles(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/page/roles
      '''
     if (token == None
             and (self.access_token == "" or self.access_token == None)):
         raise Exception("This action requires a page token")
     if (token == None):
         token = self.access_token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/roles?access_token=" + token,
         timeout=timeout).json()
     lista = list()
     while ("data" in r and len(r["data"]) > 0):
         for a in r["data"]:
             lista.append(a)
         if ("next" in r["paging"]):
             r = _Utility.prepareRequest(maxRetries=maxRetries).get(
                 r["paging"]["next"], timeout=timeout).json()
         else:
             break
     return lista
コード例 #37
0
 def getLikesCount(self, token=None, timeout=(5, 5), maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/page/insights/
      '''
     if (token == None
             and (self.access_token == "" or self.access_token == None)):
         raise Exception("This action requires a page token")
     if (token == None):
         token = self.access_token
     r = _Utility.prepareRequest(maxRetries=maxRetries).get(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/insights/page_fans/lifetime?&access_token=" + token,
         timeout=timeout).json()
     return r["data"][0]["values"][0]["value"]
コード例 #38
0
ファイル: _Group.py プロジェクト: granpk/DSLFacebook
     def getGroupFromUsername(username, token=None):
         '''
         Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/group
         '''
         if (token==None):
             token=_Actions.Actions.token
         id=username
         id2=requests.get("https://graph.facebook.com/search?q="+id+"&type=group&access_token="+token).json()
         id=id2["data"][0]["id"]

         meta=requests.get("https://graph.facebook.com/v2.3/"+id+"?metadata=1&access_token="+token).json()
         meta=meta["metadata"]["type"]
         if(meta!="group"):
             raise Exception("ERROR: This ID is not from a group")
         r=_Utility.prepareRequest().get("https://graph.facebook.com/v2.6/"+id+"?fields=id,cover,description,email,icon,link,member_request_count,name,owner,parent,privacy,updated_time&access_token="+token).json()
         return Group(dictionary=r)
コード例 #39
0
ファイル: _Group.py プロジェクト: granpk/SOL
    def getGroupFromUsername(username, token=None):
        '''
         Reference: https://developers.facebook.com/docs/graph-api/reference/v2.8/group
         '''
        if (token == None):
            token = _Actions.Actions.token
        id = username
        id2 = requests.get("https://graph.facebook.com/search?q=" + id +
                           "&type=group&access_token=" + token).json()
        id = id2["data"][0]["id"]

        meta = requests.get("https://graph.facebook.com/v2.3/" + id +
                            "?metadata=1&access_token=" + token).json()
        meta = meta["metadata"]["type"]
        if (meta != "group"):
            raise Exception("ERROR: This ID is not from a group")
        r = _Utility.prepareRequest().get(
            "https://graph.facebook.com/v2.6/" + id +
            "?fields=id,cover,description,email,icon,link,member_request_count,name,owner,parent,privacy,updated_time&access_token="
            + token).json()
        return Group(dictionary=r)
コード例 #40
0
 def postAlbum(self,
               token=None,
               name="MyAlbum",
               message="",
               timeout=(5, 5),
               maxRetries=50):
     '''
      Reference: https://developers.facebook.com/docs/graph-api/reference/page/albums/
      '''
     if (token == None
             and (self.access_token == "" or self.access_token == None)):
         raise Exception("This action requires a page token")
     if (token == None):
         token = self.access_token
     params = {"message": message, "name": name}
     r = _Utility.prepareRequest(maxRetries=maxRetries).post(
         "https://graph.facebook.com/v2.6/" + self.id +
         "/albums?access_token=" + token,
         params=params,
         timeout=timeout).json()
     return r
コード例 #41
0
ファイル: _Photo.py プロジェクト: granpk/DSLFacebook
 def getCommentCount(self,token=None, timeout=(5,5), maxRetries=50):
     if (token==None):
        token=_Actions.Actions.token
     r=_Utility.prepareRequest(maxRetries=maxRetries).get("https://graph.facebook.com/v2.6/"+self.id+"?fields=comments.summary(true)&access_token="+token, timeout=timeout).json()
     return r["comments"]["summary"]["total_count"]