【问题标题】:Facebook search from android来自安卓的 Facebook 搜索
【发布时间】:2016-11-05 23:05:10
【问题描述】:

我试图根据他们的参考使用 facebook android sdk 向 facebook 发送搜索查询。但是,Graph 请求被以下响应拒绝。

    Code:
    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    Bundle params = new Bundle();
                    params.putString("type", "topic");
                    params.putString("q", "Johny");
                    params.putString("fields", "id,name,page");

                    new GraphRequest(
                            AccessToken.getCurrentAccessToken(),
                            "/search",
                            params,
                            HttpMethod.GET,
                            new GraphRequest.Callback() {
                                public void onCompleted(GraphResponse response) {

                                    System.out.println(response.toString());
                                }
                            }
                    ).executeAsync();
                }

响应:{响应:responseCode:400,graphObject:null,错误: {HttpStatus:400,errorCode:15,errorType:OAuthException, errorMessage: (#15) 这个方法必须在应用程序中调用 访问令牌。}}

有没有人在使用 facebook 的 Android SDK 时遇到同样的问题?

【问题讨论】:

  • 您是否在 facebook 控制台中注册了您的应用程序?
  • 是的,它是一个注册的应用程序。
  • 您确定您正在使用搜索请求吗? developers.facebook.com/docs/graph-api/using-graph-api/#search 好像没有“主题”类型。
  • 还有。您的 Facebook 应用程序是否设置为在开发者控制台中发布?在设置面板中还有一个选项显示“需要应用程序机密”。你检查过这个吗?
  • 您的应用被标记为“本机/桌面”?有时会导致此问题。

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


【解决方案1】:
Code:
LoginManager.getInstance().registerCallback(callbackManager,
        new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                Bundle params = new Bundle();
                params.putString("type", "topic");
                params.putString("q", "Johny");
                params.putString("fields", "id,name,page");

                new GraphRequest(
                        AccessToken.getCurrentAccessToken(),
                        "/search",
                        params,
                        HttpMethod.GET,
                        new GraphRequest.Callback() {
                            public void onCompleted(GraphResponse response) {

                                System.out.println(response.toString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    相关资源
    最近更新 更多