情况:我可以通过网络应用获取访问令牌,还可以获取我的个人资料名称和个人资料ID。我添加了此代码以在我的墙上发布消息:
@SuppressWarnings("deprecation")
FacebookClient fbClient = new DefaultFacebookClient(accessToken, MY_APP_SECRET);
FacebookType publishMessageResponse = fbClient.publish("me/feed", FacebookType.class,
Parameter.with("message", "RestFB test 123"));
com.restfb.exception.FacebookOAuthException:收到OAuthException类型的Facebook错误响应:无效的OAuth访问令牌。 (代码190,子代码为null)
问题:我收到错误消息:
Received Facebook error response of type OAuthException: Invalid OAuth access token. (code 190, subcode null)
我尝试了什么:我正在使用restFb1.13(最新版本)。我也尝试使用较旧的restFb1.7,但错误仍然存在。我在文档中找不到上面的错误代码。不幸的是,在StackOverflow和其他站点上搜索不会列出此错误。
任何建议都应该非常有用。
答案 0 :(得分:2)
解决了它。问题是从facebook收到的Accesstoken格式为:AccessToken =一些长字母数字字符串& expires =某个字符串。我们必须删除" Accesstoken ="之间的部分。和"到期="。
我是通过
做到的 from os.path import join, dirname
from os import environ, chdir, putenv, getenv
import sys
root = 'kivy_install'
if hasattr(sys, '_MEIPASS'):
# PyInstaller >= 1.6
chdir(sys._MEIPASS)
root = join(sys._MEIPASS, root)
elif '_MEIPASS2' in environ:
# PyInstaller < 1.6 (tested on 1.5 only)
chdir(environ['_MEIPASS2'])
root = join(environ['_MEIPASS2'], root)
else:
chdir(dirname(sys.argv[0]))
root = join(dirname(sys.argv[0]), root)
sys.path += [join(root, '_libs')]
if sys.platform == 'darwin':
sitepackages = join(root, '..', 'sitepackages')
sys.path += [sitepackages, join(sitepackages, 'gst-0.10')]
putenv('GST_REGISTRY_FORK', 'no')
environ['GST_PLUGIN_PATH'] = join(root, '..', 'gst-plugins')
environ['KIVY_DATA_DIR'] = join(root, 'data')
environ['KIVY_EXTS_DIR'] = join(root, 'extensions')
environ['KIVY_MODULES_DIR'] = join(root, 'modules')
environ['KIVY_EMBED'] = '1'