1

Open Graph を利用する Facebook キャンバス アプリを構築しています。たとえば、アプリはhttp://www.mysite.com/からコンテンツを取得します。タイムラインに投稿されたアクションを「Duncan completed MyObject on My App」とします。

[マイ アプリ] をクリックすると、Facebook のアプリ ページが開きます。ただし、MyObjectリンクをクリックすると、すべてのメタデータが Facebook www.mysite.com の外部に追加される実際のページが開きます。

私は本当に両方のリンクがFacebookでアプリを開くことを望んでいます. ここでトリックを見逃していますか、それともリダイレクトなどを実行する唯一の解決策ですか?

メタデータを取得するには、Facebook に mysite.com を解析させる必要があることを理解しています。ただし、og:url をアプリの URL に設定しても違いはありません。

4

2 に答える 2

1

私は同じ問題を抱えていました。最終的に、ページにすべてのog:タグを書き込む別の.jspファイルを作成しましたが、本文には次のものしか含まれていません。

<script>
    location.href = "<%=redirectUrl%>";
</script>

redirectUrl変数は、元のリクエストされたURLから計算した文字列で、「http://apps.facebook.com/xxxyyy?myParam=zzz」のようなものです。もちろん、それは何でもかまいませんし、PHPやあなたが使うどんな言語でもかまいません。

Open Graphにアクションを投稿するときは、リダイレクトをオブジェクトURLとして使用するページを使用してください。Facebookはogタグを適切に解析し、実際のブラウザーがページを読み取ると、ユーザーをFacebookアプリにリダイレクトします。

于 2012-09-05T06:38:47.800 に答える
0

私は同じ問題を抱えていましたが、本当に明白なものが欠けているかどうかはわかりません。

Facebookのサンプルファイルに従ったPHPファイルがありました。しかし、タイムライン ストーリーのオブジェクトをクリックすると、次の GET パラメータに気付きました。fb_source=timeline_og

リダイレクトの問題を解決するために、ファイルの先頭の PHP タグのすぐ内側に次のコードを追加しました。

<?php
    if ($_GET['fb_source'] == 'timeline_og') {
        // clicked on link in timeline, so redirect to required URL
        header('Location: REDIRECT_URL_HERE');
    }

(もちろん、REDIRECT_URL_HEREリダイレクト先の URL に置き換えてください。)

うまくいけば、誰かがこれが役に立つと思うでしょう!

于 2012-10-13T15:28:47.353 に答える