如何将Facebook iFrame-App加载到个人资料页面上的应用程序选项卡中

时间:2010-04-28 09:32:00

标签: facebook facebook-iframe

如何将正在运行的iframe应用(通过http://apps.facebook.com/my-app-name测试)加载到我自己的粉丝页面的个人资料页面上的应用程序标签中。我得到了标签,但没有在标签中看到任何内容。我第一次打电话给标签我有几个错误。但现在我什么也看不见。在源代码中包含了一些css定义。

我读过,配置文件标签只能使用FBML。这是正确的吗?如果为true,我如何将带有FBML的iframe应用程序加载到配置文件选项卡中?

提前致谢。

3 个答案:

答案 0 :(得分:2)

要将应用添加到标签页,您需要确保在“应用设置”中填写标签网址。 如果它适合520px或为该宽度创建自定义UI,您可以将其指向您的应用。

完成后,请转到您应用的个人资料页面: https://www.facebook.com/apps/application.php?id=YOUR_APP_ID

在底部角落点击“添加到我的页面”,选择一个页面即可完成。

答案 1 :(得分:1)

如前所述,请在标签设置中添加网址,然后将标签添加到页面中。

当您的应用标签加载时,您将从常规画布页面获得一组不同的值。下面是一些粗略的VB.NET代码,您可以使用它来对其进行排序。

Public Class TabSignedRequest
    Public user
    '"user":{"country":"us","locale":"en_US","age":{"min":21}}
    Public algorithm
    '"algorithm":"HMAC-SHA256"
    Public issued_at
    '"issued_at":1302500880
    Public user_id
    '"user_id":"148.....47"
    Public oauth_token
    '"oauth_token":"1230................acUfvg"
    Public expires
    '"expires":1302505200
    Public app_data
    Public page As pageObject
    '"page":{"id":"22.........40","liked":true,"admin":true}
    Public profile_id


    Public Shared Function getRequest(ByVal sr As String) As TabSignedRequest
        sr = Replace(sr, "-", "+")
        sr = Replace(sr, "_", "/")
        Dim sig As String
        Dim requestStr As String
        Dim s = Split(sr, ".")
        Try
            sig = iTeam.Common.FromBase64(s(0))
        Catch ex As Exception
        End Try
        requestStr = iTeam.Common.FromBase64(s(1))
        Dim o = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(Of iTeam.Facebook.TabSignedRequest)(requestStr, New iTeam.Facebook.TabSignedRequest())
        Return o
    End Function
End Class 
Public Shared Function FromBase64(ByVal base64 As String) As String
    If base64 Is Nothing Then Throw New ArgumentNullException("base64")

    Do Until isMult4(base64.Length)
        base64 = base64 & "="
    Loop

    Dim b() As Byte
    b = Convert.FromBase64String(base64)
    Return System.Text.Encoding.UTF8.GetString(b)
End Function
Public Shared Function isMult4(ByVal n As Integer) As Boolean
    Dim r As Integer
    Math.DivRem(n, 4, r)

    Return (r = 0)

End Function

答案 2 :(得分:0)

个人资料标签肯定可以使用iFrame 步骤:

  1. 转到正在运行的iFrame应用(您要添加的应用)。
  2. 点击左侧菜单中的“添加到我的页面”。
  3. 选择粉丝页面。
  4. 你已经完成了很多工作。