创建指向不同子域URL的Facebook页面

时间:2012-09-25 09:05:09

标签: ruby-on-rails facebook-graph-api

我的Ruby on Rails应用程序为每个用户的公共页面都有一个子域名URL。例如。 username.xyz.com

我想从Rails在用户的Facebook页面上发布此URL。

到目前为止,我已经创建了一个Facebook应用程序并设置了它的页面选项卡和URL。

我正在使用fbgraph gem在facebook页面上设置此应用程序。 (此页面将由用户创建,并具有此页面的管理员权限。)

我使用了这段代码:

user = FbGraph::User.me("USER_TOKEN")
account = user.accounts.select {|account| account if account.name == "PageName"}.first 
page = FbGraph::Page.new(account.identifier).fetch(:access_token =>"Access_token",:fields => :access_token)
tab = page.tab!(:app_id => "APP_ID_I_CREATED")

使用此代码,每个用户的页面都指向APP页面选项卡URL中定义的URL。

我希望每个用户的页面都指向他们自己的子域名URL(例如:user1.xyz.com)

我需要做些什么来实现这个目标?

2 个答案:

答案 0 :(得分:0)

子域不由Web服务器处理,它由DNS处理。因此,首先需要让DNS将everyuser.xyz.com路由到您的Web服务器所在的IP地址。

DNS的工作方式,您可能需要为每个用户提供DNS条目。您可以在创建用户时找到用于添加DNS子域的API。

不要问我怎么做,因为我不知道,对研究它不感兴趣。

您还必须让Web应用程序接受请求,@ lightyrs对如何执行此操作有很好的描述。

答案 1 :(得分:0)

您可以执行以下操作:

编辑:将所有这些user.mywebsite.com子域解析为同一网址。在那个网址:

  1. 创建一个包含所有来自*.facebook.com的流量的全能路径。
  2. 将该路由指向解码params[:signed_request]
  3. 的控制器操作
  4. 解码后的签名请求将生成负责请求的页面的facebook ID。
  5. 获取系统中的用户,该用户是相关网页的管理员。
  6. 获取用户的子域。
  7. 重定向到子域。
  8. 目前,这是解决此问题的最常用方法,但是,我希望将来能够看到来自facebook的解决方案,它允许我们根据页面,用户和用户提供某种动态标签网址。推荐背景。