我整天都试图想出如何使用我自己的程序在我自己的帐户的Facebook墙上发布。我在Facebook开发者页面上关注了教程,但这没有帮助。目前我有这个请求代码:
Bundle params = new Bundle();params.putString("app", "http://samples.ogp.me/##############");
// List<String> permissions = new ArrayList<String>();
// permissions.add("publish_actions");
// Session.getActiveSession().requestNewPublishPermissions(new NewPermissionsRequest(getMainActivity(), permissions));
Request request = new Request(
Session.getActiveSession(),
"me/appnamespace:test",
params,
HttpMethod.POST
);
Response response = request.executeAndWait();
Log.print("Response: " + response.toString());
所有这一切都会产生以下错误:
Response: {Response: responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}
这几乎没有提供什么是错误的信息。 200错误代码似乎与权限有关。
我在this页面上找到了这个文字:
错误:
{“error”:{ “message”:“(#200)需要扩展权限:publish_actions”, “type”:“OAuthException”, “code”:200}}
原因:
您尚未授权该应用发布到您的时间线。点击 ''获取访问令牌'并单击''扩展权限''选项卡。 选择publish_actions权限并再次运行测试。
出于某种原因,我无法在Graph API资源管理器中将publish_actions添加到扩展权限,因为没有选项!只有publish_streams。所以我补充一点。 我在那里得到了这个错误:
{
"error": {
"message": "(#10) Application does not have permission for this action",
"type": "OAuthException",
"code": 10
}
}
在我在facebook上的应用程序权限页面中,我在用户&amp;上添加了publish_actions。 扩展权限上的朋友权限和publish_stream(我无法在其中添加publish_actions)。
最后,无论我做什么,我都无法在Facebook时间线上发布消息,除非我使用WebDialog,这不是我需要的。
我没有选择可能出错的地方。任何想法都将不胜感激。