【问题标题】:Open Facebook profile with app scoped id of user使用用户的应用范围 ID 打开 Facebook 个人资料
【发布时间】:2015-12-17 13:05:49
【问题描述】:

我的应用使用 Facebook SDK,并且我有另一个 Facebook 用户的应用范围 ID
我希望能够:
a) 打开 Facebook 应用程序以访问该用户的个人资料。
b) 打开用户配置文件的 WebView。

我尝试了什么:各种带有意图的自定义 URL 方案。没有给出一个体面的结果。

结果如何:
a) Facebook 应用不喜欢应用范围内的用户 ID,因此它要么打开错误页面(“内容不可用”),要么在其他情况下始终打开我的个人资料页面,尽管我确定我发布了完全不同用户的 ID。

b) 在 WebView 的情况下,我尝试加载此 url https://www.facebook.com/app_scoped_user_id/[APP_SCOPED_USER_ID_HERE]/ 但它要求我在将我重定向到所需页面之前登录,这完全破坏了我正在尝试实现的功能 - 用户已经在我的应用程序中使用 facebook 登录并且我确实拥有访问令牌。

【问题讨论】:

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


    【解决方案1】:

    终于对我有用了:

    try {
    Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=" +
                            "https://www.facebook.com/app_scoped_user_id/"+<scoped user id>+"/"));
                    activity.startActivity(followIntent);
                } catch (Exception e) {
                    activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/" + <user name>)));
                    String errorMessage = (e.getMessage() == null) ? "Message is empty" : e.getMessage();
                }
    

    【讨论】:

      【解决方案2】:

      Afaik 在用户未登录时无法使用个人资料链接 - 尽管用户不必使用 HIS 帐户登录,他只需要使用任何 Facebook 帐户登录即可。

      最近在 Facebook 的开发人员组中讨论了“内容不可用”错误消息,如果您的个人资料出现这种情况,您可以尝试打开一个错误。如果它不是错误,至少你应该得到一个问题的答案。

      【讨论】:

      • 因此,尽管我的应用程序使用 Facebook 登录给定用户,但他无法在 Facebook 应用程序中打开其他人的个人资料,也无法在浏览器中打开其他人的个人资料,前提是他有他们的应用程序范围 ID?这对我来说没有意义,但目前看来是正确的。
      • 正如您在我的回答中看到的那样,如果用户登录,它应该可以工作。如果出现该错误,请尝试提交错误。
      • 很久以前就提交了一个错误developers.facebook.com/bugs/332195860270199我正在寻找解决方法。这不起作用似乎很奇怪。
      • 好吧,恐怕没有解决方法。至少我不知道。
      猜你喜欢
      • 2014-08-09
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多