【发布时间】:2018-08-02 17:13:59
【问题描述】:
我在尝试打开用户的 Facebook 页面时收到 this 错误消息。奇怪的是,如果我与该用户有共同的朋友,页面加载没有问题,但我不认为这是默认行为,否则我无法理解user_link权限的含义。
Facebook 已批准 user_link 权限,我通过了 App Review。
从开发者帐户中,我将应用调用的 API 版本更改为 v3.1。
我得到user_link的方式
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_gender", "user_link"));
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
makeGraphRequest(loginResult.getAccessToken());
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
public void makeGraphRequest(AccessToken token) {
GraphRequest request = GraphRequest.newMeRequest(
token, (object, response) -> {
try {
userStorage.setUserProfileUrl(object.getString(AppConstants.LINK));
} catch (JSONException e) {
e.printStackTrace();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "name,gender,link,picture.width(700).height(700)");
request.setParameters(parameters);
request.executeAsync();
}
并使用this 回答打开页面。
Intent intent;
try {
context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=" + currentUser.getLink()));
context.startActivity(intent);
} catch (Exception e) {
intent = new Intent(context, FacebookWebViewActivity.class);
intent.putExtra(AppConstants.USER_LINK, currentUser.getLink());
context.startActivity(intent);
}
build.gradle
implementation 'com.facebook.android:facebook-login:4.33.0'
如果有人能提出任何解决方案,我将不胜感激。我在 facebook 新 API 版本之前也遇到过这个问题。
【问题讨论】:
-
@ Levon Petroysen ,我有有效的用户 _ 链接用例,但除了我的个人资料之外,我无法打开其他人的个人资料,因为我的应用审查正在等待中。我已经创建了测试应用程序,以便我可以使用 user_link 权限并且我正在正确接收 user_link 但我想在我的应用程序中向其他朋友显示个人资料但是当我尝试打开我的朋友 url 时,该链接返回其给出的链接损坏错误。跨度>
标签: android facebook facebook-graph-api