如何将Facebook App的accessToken添加到GraphRequest.newGraphPathRequest方法?

时间:2017-04-13 01:21:57

标签: android facebook facebook-graph-api facebook-android-sdk facebook-access-token

我从Facebook Graph Api console复制了以下代码。但是,Android Studio无法识别accessToken

我已经创建了Facebook App并获得了acesstoken。但我不知道在代码中将其添加到何处。如果我只是复制粘贴。 It shows this error

如果我使用AccessToken.getCurrentAccessToken()方法,则会显示此错误:

  

errorMessage:请求此资源需要访问令牌

这是我的代码:

GraphRequest request = GraphRequest.newGraphPathRequest(
               accessToken,
                "/ibm/events",
                new GraphRequest.Callback() {
                    @Override
                    public void onCompleted(GraphResponse response) {

                        Log.d(TAG, "onCompleted: " + response.toString());
                    }});

Bundle parameters = new Bundle();
        parameters.putString("fields", "name,cover,start_time,end_time,place,description");
        parameters.putString("limit", "3");
        request.setParameters(parameters);
        request.executeAsync();

    }

1 个答案:

答案 0 :(得分:1)

首先:

使用我在下面编写的这些简单步骤制作Facebook应用程序:

  1. 转到“开发者”标签,然后单击它。
  2. 然后转到网站选项。
  3. 输入您需要的应​​用名称。
  4. 点击创建Facebook App。 在此之后您必须选择类别,您可以选择App for Pages。 您的AppId和Appkey会自动创建。 AppSecretKey被混淆了。您可以单击“显示”按钮以查看AppId和AppSecurityKey。
  5. 然后Check this link to generate access token

    1.复制并粘贴您的App ID&你的App Secret进入下面的生成器。您可以获得您的App ID&单击“应用程序”主菜单选项,然后选择新创建的应用程序,即可获得App Secret。

    1. 接下来,单击“工具”菜单,然后选择“图形API浏览器”。 第1页 在此页面上,您将单击Graph API Explorer选择选项。

    2. 然后从列表中选择您的应用程序。在此示例中,我们将使用自定义Feed。

    3. 现在单击“获取访问令牌”。这将显示一个Select Permissions弹出窗口,您将在下面看到。

    4. 下一步单击“扩展权限”菜单选项,然后单击复选框read_stream并单击“获取访问令牌”。如果您使用我们的插件在Facebook上显示页面,请不要检查read_stream。

    5. 6.然后单击“确定”按钮继续。

      在Android中获取事件:您必须下载Android facebook sdk并在此方法中将get访问令牌放入getCurrentAccessToken()。

      /* make the API call */
      new GraphRequest(
          AccessToken.getCurrentAccessToken(),
          "/{event-id}",
          null,
          HttpMethod.GET,
          new GraphRequest.Callback() {
              public void onCompleted(GraphResponse response) {
                  /* handle the result */
              }
          }
      ).executeAsync();
      

      Event Details