假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url
Posted
技术标签:
【中文标题】假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url【英文标题】:How do I open facebook url with app assuming that I can't get global userId via graph api 【发布时间】:2018-12-08 03:56:36 【问题描述】:我正在尝试获得访问用户公开个人资料的权限,以便向使用应用程序的其他人提供此人个人资料的链接。
在 api 响应中,我们有一个“链接”,但它是一个 https://facebook.com/... 链接,而不是像 fb://profile/<id>
这样的意图链接
那么如何在没有全局用户 ID 和用户名的情况下创建此链接?
我也尝试使用fb://facewebmodal/f?href=<link>
,但它会将我重定向到我自己的 Facebook 主页(供稿)
谢谢!
【问题讨论】:
请参考以下链接:- medium.com/@shrawan25.sharma/… @Shrawan 谢谢。但我的观点是其他的。有两件事困扰着我: 1. facebook 给你的公共 url 过期了。在我的应用程序中,我希望用户尽可能多地交换他们的 Facebook 个人资料。有了这个链接是不可能的。 2. facebook给你的public url不能在app(android/ios)中打开,只能在浏览器中打开。对于用户体验来说,这太糟糕了......如果他们已经在应用程序中登录,没有人想登录浏览器但我明白你的意思,这很清楚 【参考方案1】:Dhiogo 的 anwser 不再工作。当用户在您的应用程序中进行身份验证时,Facebook 的 API 会检索 user_id。所以你所要做的就是像这样使用这个 user_id:
fb://facewebmodal/f?href=https://www.facebook.com/profile.php&user_id=[user_id]
【讨论】:
酷!有效!这个解决方案的唯一问题是这个 user_id 是有范围的并且有一些限制(过期)。但根据您的应用,这是一个很好的解决方案。【参考方案2】:这是 Facebook 未修复的已关闭错误:https://developers.facebook.com/bugs/332195860270199
但我可以找到解决办法!!!您所要做的就是获取 facebook graph api 生成的范围链接(链接权限),然后将 https://facebook.com/app_scoped_user_id/
替换为 fb://profile/?app_scoped_user_id/
,将链接的其余部分保持原样。
希望对你有帮助。
【讨论】:
嘿,我为这个问题苦苦挣扎了几个月,你的回答对我不起作用。你找到其他解决方案了吗?我已授予user_link
并且可以获得用户链接湾字段“链接”,但是我收到此错误message。但奇怪的是,如果我试图打开其页面的用户与我有共同的朋友,它就会起作用。 以上是关于假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url的主要内容,如果未能解决你的问题,请参考以下文章
在 Asp.net web api 中无法通过 id 查找用户
我无法通过 instagram API 获取 instagram 用户的媒体详细信息
如何通过 facebook graph api 获取***故事讲述者用户 ID