Saturday, October 25, 2025
HomeLanguagesFacebook API | Set-3

Facebook API | Set-3

Prerequisite: Facebook API | Set-1, Set-2

In this article we will be discussing three methods:

  1. search
  2. get_connections
  3. get_allconnections

search method:

The valid value types are place and placetopic.

Parameters:
id: It is a string containing a valid value.
args: This is optional and they need to passed a query params.

Example: Get details of all places that are near Connaught Place Delhi. The Latitude and Longitude of Connaught Place are – 28.6304, 77.2177




import json
import facebook
  
def main():
    token = "Please replace with your access token"
    graph = facebook.GraphAPI(token)
  
    places = graph.search(type ='place', center ='28.6304, 77.2177', 
                                            fields ='name, location')
  
    for place in places['data']:
        print('%s %s' %(place['name'].encode(), place['location'].get('zip')))
      
if __name__ == '__main__':
    main()


Please refer to the link Search Reference for complete list of fields that can used.

get_connections method :

This methods aims at returning all connections or we can say Edges for the mentioned object as dict.

Parameters:
id:A string specifying the unique id for the resource under question.
connection name: A string specifying the connection or edges between the objects.

If connection name parameter is left empty then get_connections method will simply return the basic information of the authenticated user.

Example #1: We want to find out the total count of the number of Friends of the active user.




import json
import facebook
  
def main():
    token = "Please replace this with your access token"
    graph = facebook.GraphAPI(token)
    friends = graph.get_connections(id ='me', connection_name ='friends')
    print(json.dumps(friends, indent = 4))
  
if __name__ == '__main__':
    main()


Example #2: We want to get list of all posts from a page. For this, we will be using get_connections and later on, we will demonstrate how to use get_all_connections method.




import json
import facebook
  
def main():
    token = "Please replace this with your PAGE Access Token"
    graph = facebook.GraphAPI(token)
    posts_25 = graph.get_connections(id ='PAGE_ID', connection_name ='posts',
                                                  fields ='id, created_time')
  
    print(json.dumps(posts_25, indent = 4))
  
if __name__ == '__main__':
    main() 


Note: This example by default print latest 25 posts. You can add a filter for the post using limit(…) to set the limit for the number of the posts.

Example #3: In this example we will use get_connections method to print all the comments for the posts in reverse_chronological order, show sub comments including hidden comments and also show the total count of the comments.




import json
import facebook
  
def main():
    token = "Please replace this with your PAGE Access Token"
    graph = facebook.GraphAPI(token)
    posts_25 = graph.get_connections(id ='POST_ID', connection_name ='comments', 
                                     include_hidden = True, order ='reverse_chronological',
                                     filter ='stream', summary ='total_count')
  
    print(json.dumps(posts_25, indent = 4))
  
if __name__ == '__main__':
    main() 


get_all_connections method :

Iterates over all pages returned by a get_connections call and yields the individual items.

Parameters:
id:A string specifying the unique id for the resource under question.
connection name: A string specifying the connection or edges between the objects.

Example #1: In this example I have used get_all_connections to list all the posts from a Page listed using the since datetime parameter.




import json
import facebook
from datetime import datetime
   
def main():
    token = "Please replace this with your PAGE Access Token"
    graph = facebook.GraphAPI(token)
    posts_all = graph.get_all_connections(id ='PAGE_ID', connection_name ='posts',
                                           fields ='created_time, id',
                                           since = datetime(2017, 1, 1, 0, 0, 0))
  
    for ind, post in enumerate(posts_all):
     print(json.dumps(ind, indent = 4))
     print(json.dumps(post, indent = 4))
      
   
if __name__ == '__main__':
    main()


References:

  1. https://developers.facebook.com/docs/marketing-api/insights/parameters
  2. https://developers.facebook.com/docs/graph-api/
Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS