我想在我的Facebook粉丝页面上做一个简单的Wall Post。我有我的APP_ID + APP SECRET,并且能够获取访问令牌,但是我在与facebook.GraphAPI()苦苦挣扎,这是代码:
# -*- 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
运行脚本时,出现以下错误:
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'
我在Windows和ubuntu机器上尝试了此代码,同样的错误。我尝试重新安装facebook模块,但没有任何帮助。有人知道如何解决此问题吗?
编辑:当我添加import pydoc; pydoc.help(facebook)
这是输出:
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'
那个包裹不对。尝试从此github repo重新下载并安装。
我只是做了同样的事情,这是我的输出pydoc.help(facebook)
(同样help
在交互式提示符下):
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's 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.
...
因此它没有正确安装。
我建议将facebook.py
文件复制到当前目录(与问题中的文件相同)并重新运行。希望您可以绕过错误的安装。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句