Android 应用程序ID未在图形中注册

Android 应用程序ID未在图形中注册,android,facebook-graph-api,facebook-java-api,facebook-java-sdk,Android,Facebook Graph Api,Facebook Java Api,Facebook Java Sdk,我已经开发了一个android应用程序,并成功地将facebook sdk集成到我的应用程序中。 我之前在facebook sdk附带的HelloFacebookSample应用程序上做了一些测试。 HelloFacebookSample中UserGraph实例中给出的应用程序ID在graph api中运行良好。 像这样 或者像这样 知道1531414210465350是user.getId()获取的应用程序ID 但是,当我试图将自己的应用程序ID放入图表或链接时,出现了错误: { "er

我已经开发了一个android应用程序,并成功地将facebook sdk集成到我的应用程序中。
我之前在facebook sdk附带的HelloFacebookSample应用程序上做了一些测试。
HelloFacebookSample中UserGraph实例中给出的应用程序ID在graph api中运行良好。
像这样
或者像这样
知道
1531414210465350
user.getId()获取的应用程序ID
但是,当我试图将自己的应用程序ID放入图表或链接时,出现了错误:

{
   "error": {
      "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
      "type": "GraphMethodException",
      "code": 100
   }
}
我遗漏了一些东西,但我不知道在哪里,如果您有任何建议,我将不胜感激
这是主要活动代码:

public class getJID extends FragmentActivity {
    private static final String PERMISSION = "publish_actions";
    private LoginButton loginButton;
    private UiLifecycleHelper uiHelper;
    private Session.StatusCallback callback = new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            onSessionStateChange(session, state, exception);
        }
    };

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Session.getActiveSession().onActivityResult(this, requestCode,
                resultCode, data);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.facebook_login);
        uiHelper = new UiLifecycleHelper(this, callback);
        uiHelper.onCreate(savedInstanceState);
        Session session = Session.getActiveSession();
        loginButton = (LoginButton) findViewById(R.id.connectWithFbButton);
        loginButton
                .setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
                    @Override
                    public void onUserInfoFetched(GraphUser user) {
                        if (user != null) {
                            try {

                                System.out
                                        .println("this is from the user object "
                                                + user.getId());
                            } catch (Exception e) {
                                System.out.println(e.getMessage());
                            }
                        }

                    }
                });

    }

    private void onSessionStateChange(Session session, SessionState state,
            Exception exception) {
        if (state.isOpened()) {
            System.out.println("SESSION IS OPPENED");
        } else if (state.isClosed()) {
            System.out.println("SESSION IS CLOSED");
        }
    }
}

知道我将我的应用程序ID放在清单中,除了作用域的应用程序ID没有映射到记录的配置文件之外,其他一切都正常工作。

1。您混淆了应用程序id和用户id。2。使用API v2,您的应用程序不再获取全局用户id,而只获取应用程序范围内的用户id,该id特定于您的应用程序,并且只能由您的应用程序用于请求有关用户的详细信息。请阅读更改日志,其中有详细说明。好的,但我可以获取链接属性吗?例如,如果您通过应用程序范围的用户id请求用户详细信息,您将获得一个重定向到其配置文件的
链接
属性。我很确定我遇到的问题,所以请再次阅读这个问题。再次:阅读关于应用程序范围的用户ID的更改日志。您只能使用为应用程序获取的应用程序范围的用户id来请求应用程序的用户详细信息。其他应用程序的应用程序范围用户id或全局id将不再适用于使用API v2的应用程序。