Android 应用程序ID未在图形中注册
我已经开发了一个android应用程序,并成功地将facebook sdk集成到我的应用程序中。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
我之前在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的应用程序。