How to write a post on facebook using python

sowmya picture sowmya · Feb 2, 2018 · Viewed 13.7k times · Source

I have tried with a sample code that I found on google..

import facebook

def main():
   # Fill in the values noted in previous steps here
    cfg = {
    "page_id"      : "XXXXXXXXXXXXXX",  # Step 1
    "access_token" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"   # Step 3
    }

    api = get_api(cfg)
    msg = "Hello, world!"
    status = api.put_wall_post(msg)

def get_api(cfg):
     graph = facebook.GraphAPI(cfg['access_token'])
     # Get page token to post as the page. You can skip 
     # the following if you want to post as yourself. 
     resp = graph.get_object('me/accounts')
     page_access_token = None
    for page in resp['data']:
        if page['id'] == cfg['page_id']:
            page_access_token = page['access_token']
    graph = facebook.GraphAPI(page_access_token)
    return graph

if __name__ == "__main__":
     main()

But I am getting this error:

AssertionError: Write operations require an access token on line status = api.put_wall_post(msg).

Can some one help me in solving the issue?

images

Answer

sowmya picture sowmya · Feb 13, 2018

To write a post to facebook using python.we need access_token for it.

graph = facebook.GraphAPI(access_token="XXXXXXXX")
print graph
#to post to your wall
graph.put_object("me", "feed", message="Posting on my wall1!")
#to get your posts/feed
feed = graph.get_connections("me", "feed")
post = feed["data"]
print post
#to put comments for particular post id
graph.put_object(post["id"], "comments", message="First!")