2010-04-28 31 views
5

我怎么可以加载一个工作iframe应用程序(通过http://apps.facebook.com/my-app-name测试)到我自己的粉丝专页的个人资料页上的应用程序选项卡。我得到了这个标签,但没有看到标签中的任何内容。第一次我打电话给我的标签我有几个错误。但现在我什么都看不到。在源代码中包含一些css定义。如何Facebook的iframe的应用程序加载到应用程序选项卡上的个人主页

我看,该配置文件选项卡只能使用FBML。这是正确的吗?如果为true,那么我如何使用FBML将iframe应用程序加载到配置文件选项卡中?

在此先感谢。

Marco

回答

0

Profile选项卡当然可以使用iFrame。
步骤:

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

要添加一个应用程序到一个标签,你需要确保你填写了你的应用程序设置中的标签网址。 如果它适合520px或为该宽度创建自定义UI,则可以将它指向您的应用。

一旦你这样做,是进入个人资料页为您的应用程序: https://www.facebook.com/apps/application.php?id=YOUR_APP_ID

并在“添加到我的网页”底角点击,选择一个页面就大功告成了。

1

正如前面的海报说,添加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 
相关问题