想要解锁:如何在不支付托管费用的情况下建立基本的Facebook粉丝大门

这种基本的Facebook应用程序过去创建起来相对简单,但是Facebook现在要求所有页面标签应用程序都具有安全版本–一个 HTTPS 访问网址–但这又是100美元除了您网站的现有托管费用之外,还需要一年的时间。即使您经营一家小型电子商务商店,也可以将PayPal用作付款提供商,因此不需要SSL证书。但是不必担心,因为Facebook还与云托管公司Heroku合作,这意味着您可以创建自己的基本Facebook应用,并将其免费托管在安全的服务器上。想知道更多?在我制作基本的Facebook扇形页面选项卡应用程序(在Heroku上免费托管)时,请继续阅读。

注册为开发人员

制作任何应用程序之前,您需要成为注册开发人员。转到developers.facebook.com开始使用,如果还没有,请单击右上角的绿色注册按钮。您确实需要一个电话号码才能注册,否则免费的。

如果您已经注册,那就太好了–单击顶部工具栏上的“应用程序"以获取当前应用程序的概述。

创建一个新应用

从这里开始乐趣。点击创建新应用。命名并不重要,但显然选择一些相关的东西。当用户单击该选项卡时,名称空间字段将附加到您的粉丝页面网址;您可以将其保留为空白,但随后他们会在网址中看到应用ID,这有点难看。命名空间还必须为唯一,因此,甚至不必担心“ testapp"之类的内容,否则会出错。最后,选中您要从Heroku免费托管的框。

填写验证码后,系统会邀请您从Heroku中选择所需的托管类型-选择PHP,然后接受。如果您还没有Facebook,Facebook会自动在Heroku上为您创建一个新帐户,并在基础知识中预先填充URL设置,这很不错。实际上,很难搞清楚这一步。

在“应用程序详细信息"页面上,您还希望将应用程序的类型设置为“页面标签",并确保相关网址为在此也输入了-再次,这应该是自动的。然后保存。

Heroku第一步

完成后,您将收到来自Heroku的电子邮件,其中包含有关如何更改密码的详细信息,并为您下载Heroku“ toolbelt"系统。对于那些不熟悉Heroku的人来说,它不是传统的主机,因为您可以登录FTP地址并上传文件;而是Heroku与版本控制系统Git一起使用。安装工具带后,首先需要将网站克隆到本地驱动器上-这将为您提供一个目录,该目录是Heroku上托管内容的镜像。每当您对这些文件进行更改时,都将它们重新同步一次以更新Heroku。

此首次同步的说明包含在您的欢迎电子邮件中,这是您独有的简单的单行命令托管地址-只需从电子邮件中复制和粘贴即可。您的托管网址是完全任意的-在我的例子中是 dry-woodland-7743 –它是随机生成的,根本没有关系,因为用户看不到它。打开新创建的目录,然后环顾四周。

Heroku引入了很多功能,但我们不需要其中的大部分功能。打开 index.php 并浏览一下。在文件开头附近找到以下几行:

$facebook = new Facebook(array( 'appId' => AppInfo::appID(), 'secret' => AppInfo::appSecret(), 'sharedSession' => true, 'trustForwarded' => true,));

,然后在其后立即复制以下内容:

$signed_request = $facebook->getSignedRequest();$liked = $signed_request['page']['liked'];

请不要担心,这对您来说太复杂了吗?很快就会给您完成的模板。签名的请求将从Facebook发送到您的应用,其中包括有关用户的一些信息-他们是否具有管理员权限以及是否喜欢该页面。如果您想确切地知道发送了什么,请添加以下内容:

print_r($signed_request);

,您将获得已签名请求对象的完整打印输出。

在这一点上,我应该承认我在使签名请求正常工作方面确实遇到了麻烦–似乎Heroku在页面加载时剥离了数据,并且只有在加载JS API之后(初始页面加载后的10秒钟),页面才会刷新并指示正确的“喜欢"状态。由于存在堆栈溢出问题,该解决方案似乎正在剥离对不安全用户强制实施HTTPS的代码。在模板的开头删除以下代码块:

// Enforce https on productionif (substr(AppInfo::getUrl(), 0, 8) != 'https://' && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') { header('Location: https://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); exit();}

现在,在加载页面时,您将拥有一个布尔变量-这是 true false -告诉您用户是否喜欢该页面。您可以将其与简单的 if 语句一起使用,以显示内容 a b

<?php  if( $liked ): echo('fan'); //this is your secret content else : echo('not a fan ') ; //this is shown to potential fans endif;?>

index.php 中的标记。现在,如果您在Heroku上预览了页面,您会发现它具有很多其他功能,显示您喜欢的页面,发布更新的按钮等–我们并不需要任何这些,所以我删除了所有内容,包括Facebook的JavaScript SDK,仅保留了CSS和我们的支持者。这是我最终使用的简化代码(这是一个图像–如果需要,可以从PasteBin复制粘贴)

您应编辑以下内容:“不是粉丝" "和“粉丝"分别包含您的默认内容和机密内容。如果您希望将内容保存在单独的文件中,请使用:

include("secret.html");

导入外部文件。

与Heroku同步

一旦完成所有操作对文件进行必要的编辑后,您需要与Heroku同步备份–我们通过将本地副本“推送"到Heroku的“主分支"来实现。确保从命令行进入正确的目录,键入:

git commit -am "changes messages"

(您可以将自己这次所做的更改的注释替换为自己的注释,这是很好的做法,请保留这些更改记录)

,然后

git push heroku master

等待命令完成,这可能需要一段时间。

最后一步:将应用添加到您的页面

现在已经构建了该应用程序,我们需要将其作为标签添加到您的品牌页面中。奇怪的是,这是使用特制的URL完成的:

https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&redirect_uri=YOUR_APP_URL_ON_HEROKU

YOUR_APP_ID 替换为应用程序详细信息中列出的ID,并将 YOUR_APP_URL_ON_HEROKU 替换为您的URL您的Heroku托管。加载此特殊URL后,将启动“添加到页面"对话框,从中可以选择正确的品牌页面以将页面标签添加到其中。

然后,请记住,这将是一个新按钮在页面上,如下所示:

如您所见,我们尚未为标签页指定图片,因此该图片保留默认设置–您可以在“应用程序详细信息"页上进行此操作。基本上就是这样;如果您加载该标签,我的替换 index.php 将显示为粉丝不粉丝。或您对其进行了自定义显示的任何内容:

我会承认–这个过程比我预期的要难,但是它完全避免了在您自己的服务器上托管任何东西或获得SSL认证的需要。如果您有任何疑问或问题,请在评论中提问,我会尽力帮助您。如果评论已关闭,请转到我们的“答案"网站;如果您觉得本教程对您有帮助,请在您喜欢的社交网络上分享。另外,您可能还想查看我们的免费,完整的社交媒体营销指南,以制定您的策略。

标签: 应用开发 Facebook