Facebook 将应用程序从画布页面重定向到粉丝页面

发布于 2024-11-02 03:08:42 字数 319 浏览 0 评论 0原文

我正在将 facebook 应用程序构建为粉丝页面中的 iframe 应用程序。我现在的问题是:我添加了 facebook 请求对话框(http://developers.facebook.com/docs/reference/dialogs/requests),一切都很顺利,除了一件事:当用户收到通知时,链接转到画布页面,而不是粉丝页面(我想去的地方...)

由于我无法说服 Facebook 添加一些功能(那就太好了),我正在寻找一种自动从应用程序画布页面重定向到粉丝的方法页面,此应用程序被添加为 iframe 选项卡。

我希望有人理解我想做什么...:)

谢谢,彼得

im building facebook app as a iframe app in fan page. My problem at the moment is next: i added facebook request dialog (http://developers.facebook.com/docs/reference/dialogs/requests), and everything goes well except for one thing: when a user gets notification, the links goes to canvas page, not to fan page (where i would like to go...)

Since i cant convince facebook to add some funcionality (that would be great), im looking for a way to automaticly redirect from app canvas page to fan page, where this app is added as iframe tab.

I hope somebody understands what i want to do... :)

thanks, Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

等待圉鍢 2024-11-09 03:08:42

我还想确保用户通过 Facebook 页面选项卡查看我的 Facebook 应用程序(而不是通过 Facebook 应用程序页面或直接查看实际网站本身)。我已经成功地在我的文档的 head

<script type="text/javascript">
  function NotInFacebookFrame() {
    return top === self;
  }
  function ReferrerIsFacebookApp() {
    if(document.referrer) {
      return document.referrer.indexOf("apps.facebook.com") != -1;
    }
    return false;
  }
  if (NotInFacebookFrame() || ReferrerIsFacebookApp()) {
    top.location.replace("http://permalink-to-my-facebook-page-tab");
  }
</script>

I also wanted to make sure that users view my Facebook app via a Facebook Page Tab (rather than via the Facebook App page or by directly viewing the actual site itself). I have managed to achieve it with this Javascript in a <script> tag in the head of my document (tested Mac/PC FF,Chrome,Opera,IE6-8,Safari).

<script type="text/javascript">
  function NotInFacebookFrame() {
    return top === self;
  }
  function ReferrerIsFacebookApp() {
    if(document.referrer) {
      return document.referrer.indexOf("apps.facebook.com") != -1;
    }
    return false;
  }
  if (NotInFacebookFrame() || ReferrerIsFacebookApp()) {
    top.location.replace("http://permalink-to-my-facebook-page-tab");
  }
</script>
心碎无痕… 2024-11-09 03:08:42

如果我理解正确,您可以这样做:

top.location.href='http://www.facebook.com/YOUR_PAGE_NAME?sk=app_YOUR_APP_ID'

或者您可以使用标头重定向到该网址。这将重定向到您的粉丝页面上的应用程序选项卡。

If I understand you correctly, you can do this:

top.location.href='http://www.facebook.com/YOUR_PAGE_NAME?sk=app_YOUR_APP_ID'

or you can use a header to redirect to that url. This will redirect to the application's tab on your fan page.

握住我的手 2024-11-09 03:08:42

我的应用程序非常动态,我永远不知道它添加到哪个页面。因此,当我使用 URL 'http://www.facebook.com/YOUR_PAGE_NAME?sk=app_YOUR_APP_ID' 时,它仅将我重定向到页面,而不是应用程序选项卡。我所做的是:

1)我从signed_request(您的应用程序在有人访问该页面时获取的加密的base64url参数中获取页面id,因此您必须解密它并从JSON页面对象中选择id值)

2)然后我得到来自 https://graph.facebook.com/PAGE_ID_YOUR_GET 的页面数据。您将获得 JSON 对象,其中包含一些以 JSON 格式响应的页面数据。

3) 仅在第 2 点之后,我才从响应中获取页面的“链接”值。就像 http://www.facebook.com/pages/Some-Page-Name

4) 最后我将 '?sk=app_YOUR_APP_ID' 添加到页面链接。

也许这太复杂了,但这是它按照我预期的方式为我工作的唯一方法(完全重定向到页面应用程序选项卡)。

My application is quite dynamic and I never know which page it's added to. So when I used URL 'http://www.facebook.com/YOUR_PAGE_NAME?sk=app_YOUR_APP_ID' it only redirected me to page, but not to application tab. What I do is:

1) I get page id from signed_request (the encrypted in base64url parameter that your app gets once someone comes to the page, so you have to decrypt it and pick id value from JSON page object)

2) Then I get page data from https://graph.facebook.com/PAGE_ID_YOUR_GET. You get JSON object with some page data in response in JSON format.

3) Only after point 2 I get 'link' value of page from response. It's like http://www.facebook.com/pages/Some-Page-Name

4) And finally I add '?sk=app_YOUR_APP_ID' to page link.

Maybe that's too complicated, but that's the only way it worked for me the way I expected (redirecting exactly to page application tab).

我的影子我的梦 2024-11-09 03:08:42
<script type="text/javascript">
  function NotInFacebookFrame() {
    return top === self;
  }
  function ReferrerIsFacebookApp() {
    if(document.referrer) {
      return document.referrer.indexOf("apps.facebook.com") == -1;
    }
    return false;
  }
  if (NotInFacebookFrame() || ReferrerIsFacebookApp()) {
    top.location.replace("http://permalink-to-my-facebook-page-tab");
  }
</script>
<script type="text/javascript">
  function NotInFacebookFrame() {
    return top === self;
  }
  function ReferrerIsFacebookApp() {
    if(document.referrer) {
      return document.referrer.indexOf("apps.facebook.com") == -1;
    }
    return false;
  }
  if (NotInFacebookFrame() || ReferrerIsFacebookApp()) {
    top.location.replace("http://permalink-to-my-facebook-page-tab");
  }
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文