1

一整天我都在想如何使用我自己的程序在我自己帐户的 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 时间轴上发布消息,这不是我需要的。

我无法选择可能出现的问题。任何想法,将不胜感激。

4

0 回答 0