一整天我都在想如何使用我自己的程序在我自己帐户的 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 错误代码似乎与权限有关。
我在这个页面上找到了这段文字:
错误:
{“错误”:{“消息”:“(#200)需要扩展权限:publish_actions”,“类型”:“OAuthException”,“代码”:200 } }
原因:
您尚未授权该应用发布到您的时间线。单击“获取访问令牌”,然后单击“扩展权限”选项卡。选择 publish_actions 权限并再次运行您的测试。
出于某种原因,我无法将 publish_actions 添加到 Graph API Explorer 中的扩展权限,因为没有选项!只有发布流。所以我补充说。我在那里得到这个错误:
{
"error": {
"message": "(#10) Application does not have permission for this action",
"type": "OAuthException",
"code": 10
}
}
在我在 facebook 上的应用程序权限页面中,我在用户和朋友权限上添加了 publish_actions,在扩展权限上添加了 publish_stream(我无法在那里添加 publish_actions)。
最后,无论我做什么,除非我使用 WebDialog,否则我无法在 facebook 时间轴上发布消息,这不是我需要的。
我无法选择可能出现的问题。任何想法,将不胜感激。