Facebook 应用程序 - 页面选项卡 - restrict/remove 安装能力
Facebook App - Page Tab - restrict/remove ability to install
我使用此处的说明构建了一个 Facebook 应用程序(页面选项卡)
whosebug.com/questions/21048882/facebook-2014-how-to-create-a-simple-page-with-an-iframe-inside.
该应用程序仅显示一些远程页面(顺便说一句,内置于 .Net 4.0 中)。
我想知道(并搜索)是否有任何可能的方法来删除安装我在其他页面中由其他人构建的应用程序的功能。
Facebook 文档一团糟,找不到有用的信息。我在 Whosebug 上发现了一个关于相同目标的老问题 whosebug.com/questions/11971727/is-it-possible-to-create-a-private-application-available-only-for-specific-users。
问题是这个问题已经有 2 年历史了,我认为当时接受的答案今天并不适用。至少我找不到在哪里添加限制。
有好心人可以帮帮我吗?
提前致谢,
雨果
根据给出的建议,我在 page_load:
进行了类似的操作
if(Request["signed_request"] == null || string.isNullOrEmpty(Request["signed_request"]) || !accessAllowed(Request["signed_request"].ToString()){
//redirect or show error message
}
对于自定义函数:
private static bool accessAllowed(string signed_request) {
try {
return ((dynamic)JsonConvert.DeserializeObject(Encoding.UTF8.GetString(Convert.FromBase64String((signed_request.Split('.')[1]))))).page.id == "myPageId";
}
catch {
return false;
}
}
使用库 Json.NET。
我无法找到的是在实际安装应用程序之前从哪里获得 "myPageId"。所以我最终可能会使用存储在 Web.config 或 Web 服务器中其他文件中的一些值(我可以将其保存在数据库中,但这种方法将节省我访问数据库的时间)。
谢谢大家的帮助。
我使用此处的说明构建了一个 Facebook 应用程序(页面选项卡) whosebug.com/questions/21048882/facebook-2014-how-to-create-a-simple-page-with-an-iframe-inside.
该应用程序仅显示一些远程页面(顺便说一句,内置于 .Net 4.0 中)。
我想知道(并搜索)是否有任何可能的方法来删除安装我在其他页面中由其他人构建的应用程序的功能。 Facebook 文档一团糟,找不到有用的信息。我在 Whosebug 上发现了一个关于相同目标的老问题 whosebug.com/questions/11971727/is-it-possible-to-create-a-private-application-available-only-for-specific-users。 问题是这个问题已经有 2 年历史了,我认为当时接受的答案今天并不适用。至少我找不到在哪里添加限制。
有好心人可以帮帮我吗?
提前致谢, 雨果
根据给出的建议,我在 page_load:
进行了类似的操作if(Request["signed_request"] == null || string.isNullOrEmpty(Request["signed_request"]) || !accessAllowed(Request["signed_request"].ToString()){
//redirect or show error message
}
对于自定义函数:
private static bool accessAllowed(string signed_request) {
try {
return ((dynamic)JsonConvert.DeserializeObject(Encoding.UTF8.GetString(Convert.FromBase64String((signed_request.Split('.')[1]))))).page.id == "myPageId";
}
catch {
return false;
}
}
使用库 Json.NET。
我无法找到的是在实际安装应用程序之前从哪里获得 "myPageId"。所以我最终可能会使用存储在 Web.config 或 Web 服务器中其他文件中的一些值(我可以将其保存在数据库中,但这种方法将节省我访问数据库的时间)。
谢谢大家的帮助。