Make facebook post in python

I want to make a simple Wall Post on my facebook page. I have APP_ID + APP SECRET and I can get the access token, but I'm struggling with facebook.GraphAPI () This is the code:

# -*- coding: utf-8 -*- import urllib import facebook FACEBOOK_APP_ID = '12345' FACEBOOK_APP_SECRET = '123456789' FACEBOOK_PROFILE_ID = '321321321321' oauth_args = dict( client_id = FACEBOOK_APP_ID, client_secret = FACEBOOK_APP_SECRET, grant_type = 'client_credentials') oauth_response = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)).read() # oauth_response looks like this: # access_token=2732467743847839726|3gddzdg3Wl-5S_Go attach = { "name": 'Hello', "link": 'http://www.link.com', "caption": 'test', "description": 'some test', "picture" : 'http://img/picture.png', } facebook_graph = facebook.GraphAPI(oauth_response.split('=')[1]) try: response = facebook_graph.put_wall_post('', attachment=attach) except facebook.GraphAPIError as e: print e 

When I run the script, I get this error:

 Traceback (most recent call last): File "fb.py", line 27, in <module> facebook_graph = facebook.GraphAPI(oauth_response.split('=')[1]) AttributeError: 'module' object has no attribute 'GraphAPI' 

I tried this code on windows and ubuntu machine, same error. I tried reinstalling the facebook module but nothing helped. Does anyone know how to solve this problem?

EDIT: when I add import pydoc; pydoc.help(facebook) import pydoc; pydoc.help(facebook) , this is the output:

 Help on package facebook: NAME facebook - TODO: Document your package. FILE c:\python26\lib\site-packages\facebook-0.0-py2.6.egg\facebook\__init__.py PACKAGE CONTENTS DATA __loader__ = <zipimporter object "C:\Python26\lib\site-packages\facebo... __version__ = 'TODO: Enter a version' VERSION TODO: Enter a version Traceback (most recent call last): File "fb.py", line 29, in <module> facebook_graph = facebook.GraphAPI(oauth_response.split('=')[1]) AttributeError: 'module' object has no attribute 'GraphAPI' 
+4
source share
2 answers

This package is incorrect. Try rebooting and installing from this github repo .


I just did the same, and this is my output from pydoc.help(facebook) (which is also help in the interactive prompt):

 Help on module facebook: NAME facebook - Python client library for the Facebook Platform. FILE /usr/lib/python2.7/site-packages/facebook.py DESCRIPTION This client library is designed to support the Graph API and the official Facebook JavaScript SDK, which is the canonical way to implement Facebook authentication. Read more about the Graph API at http://developers.facebook.com/docs/api. You can download the Facebook JavaScript SDK at http://github.com/facebook/connect-js/. If your application is using Google AppEngine webapp framework, your usage of this module might look like this: user = facebook.get_user_from_cookie(self.request.cookies, key, secret) if user: graph = facebook.GraphAPI(user["access_token"]) profile = graph.get_object("me") friends = graph.get_connections("me", "friends") CLASSES __builtin__.object GraphAPI exceptions.Exception(exceptions.BaseException) GraphAPIError class GraphAPI(__builtin__.object) | A client for the Facebook Graph API. ... 

therefore does not have .


I suggest copying the facebook.py file to your current directory (the same as the file from the question), and re-launching. I hope you can get around the failed installation.

+6
source

PyPI's Facebook package is corrupted. This is not the facebook you want, but facebook-sdk .

Make sure you have the correct one:

 pip uninstall facebook # Remove the broken package pip install facebook-sdk # Install the correct one 
+8
source

Source: https://habr.com/ru/post/1502664/


All Articles