我如何将工作的 iframe 应用程序(通过http://apps.facebook.com/my-app-name测试)加载到我自己的粉丝页面的个人资料页面上的应用程序选项卡中。我得到了选项卡,但在选项卡中没有看到任何内容。我第一次调用选项卡时遇到了几个错误。但现在我什么也看不见。在源代码中包含一些 css 定义。
我读到,配置文件选项卡只能使用 FBML。这是正确的吗?如果为真,我如何将带有 FBML 的 iframe 应用程序加载到配置文件选项卡中?
提前致谢。
马可
我如何将工作的 iframe 应用程序(通过http://apps.facebook.com/my-app-name测试)加载到我自己的粉丝页面的个人资料页面上的应用程序选项卡中。我得到了选项卡,但在选项卡中没有看到任何内容。我第一次调用选项卡时遇到了几个错误。但现在我什么也看不见。在源代码中包含一些 css 定义。
我读到,配置文件选项卡只能使用 FBML。这是正确的吗?如果为真,我如何将带有 FBML 的 iframe 应用程序加载到配置文件选项卡中?
提前致谢。
马可
要将应用添加到选项卡,您需要确保在应用设置中填写选项卡 URL。如果它适合 520 像素,您可以将其指向您的应用程序,或者为该宽度创建自定义 UI。
完成后,转到您的应用的个人资料页面: https ://www.facebook.com/apps/application.php?id=YOUR_APP_ID
然后在底角单击“添加到我的页面”,选择一个页面,您就完成了。
正如之前的海报所说,在选项卡设置中添加 URL,然后将选项卡添加到页面。
当您的应用程序选项卡加载时,您将从常规画布页面获得一组不同的值。这是一些粗略的 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
配置文件选项卡当然可以使用 iFrame。
脚步: