5

自分のファンページのプロフィール ページのアプリケーション タブに、動作中の iframe アプリ ( http://apps.facebook.com/my-app-nameでテスト済み) をロードするにはどうすればよいですか。タブを取得しましたが、タブに何も表示されませんでした。初めてタブを呼び出したとき、いくつかのエラーが発生しました。でも今は何も見えない。ソースコードにはいくつかの CSS 定義が含まれています。

プロファイル タブでは FBML しか使用できないと読みました。これは正しいですか?true の場合、FBML を使用して iframe アプリケーションをプロファイル タブにロードするにはどうすればよいですか?

前もって感謝します。

マルコ

4

3 に答える 3

2

タブにアプリを追加するには、アプリの設定でタブのURLを入力する必要があります。520ピクセルに収まる場合は、これをアプリにポイントするか、その幅のカスタムUIを作成できます。

それが完了したら、アプリのプロファイルページに移動します: https ://www.facebook.com/apps/application.php?id = YOUR_APP_ID

そして、下隅にある[マイページに追加]をクリックしてページを選択すると、完了です。

于 2011-09-22T22:33:00.740 に答える
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
于 2011-09-27T07:17:23.557 に答える