2012-03-13 10 views
0

私はfb.uiメソッドを使用して、ユーザーがFacebook経由でリンクを共有できるようにしています。 (例:http://example.com/affiliateid=myuseraffiliateid) 私の問題は、共有ページのog:urlにこのパラメータがなく、og:urlが常に優先されるということです。fb.uiを使用して、参照IDを持つリンクを送信する方法

Facebookの[送信]ボタンを使用して、fb_refパラメータを送信できるので、共有URLはhttp://example.com/fb_ref=myuseraffiliateidです。この解決策は私にとっては問題ありません。自分のページのサーバーサイドコードにaffiliate_id = fb_refを設定するだけです。 しかし、私は "to"フィールドをあらかじめ入力する必要があるので、facebook sendボタンを使うことはできません。

要するに、私が探しているのは、送信されたリンクにこのfb_ref属性を追加する方法です。

たぶんコードはそうここにある、プレーンテキストよりも理解しやすいです:

ここだが、送信ダイアログにJSコールのコードです:

FB.ui({ 
    method: 'send', 
    link: "http://www.example.com/affiliateid/myuseraffiliateid", 
    to: [11111,22222,33333], 
}); 

この方法では、共有resultigリンクは指定されたog:url(つまりhttp://www.example.com)に等しいです。ここ

とFBです:実際に動作するボタンを送信、私たちは、送信ボタンへの共有リンクを「REF」属性を指定したことから、今

<fb:send 
    href="http://www.example.com" 
    ref="myuseraffiliateid" 
></fb:send> 

をあらかじめ入力「を」なし「http://www.example.com/fb_ref=myuseraffiliateid」です。私は必要なもの

はfb.uiを使用してREF属性を再現することである...

+0

http://www.example.com/affiliateid=myuseraffiliateidの代わりに、あなたのURl構造をhttp://www.example.com /?affiliateid = myuseraffiliateid?この場合、アフィリエイトのないあなたのog:urlは正常に動作するはずです。 – Shreeni

+0

私は嘘をついています。実際のURL構造はexample.com/affiliateid/myuseraffiliateidです。このURLを "example.com/?fb_send=myaffiliateid"に置き換えることで今すぐ答えてください(これは私がこのようにするのは簡単です)? – haltabush

+0

YEAAAHHHH !!!!ありがとうございました:) Can – haltabush

答えて

0

私は最終的に、共有リンクのリンク先ページで動的なog:urlを使用してこの問題を回避しました。私は共有リンクの数を数えることができないので、迷惑です。(

3

代わりに「example.com/affiliateid=myuseraffiliateid」「example.com/?affiliateid=myuseraffiliateid」にあなたのURL構造を変更します。

このようにすると、ページのog:urlは安定した状態(FBが期待するものと一致する)に維持されるため、正常に動作するはずです。

+0

実際には異なるドメイン名でしか動作しません: "example.com"のリンク "examle1.com"を共有しても問題ありません。もし私が共有していればリンク "example.com"〜 " example.com:、そうではありません。 WTF?!このFacebookのことは私を夢中にさせている... – haltabush

+0

example.comにはog:urlが含まれていますか、example1.comかその両方ですか? – Shreeni

+0

私の場合、example1.comにはog:url example1.comが含まれていますが、Facebookにはアクセスできません。 Example.comにはexample.comにog:urlがあります – haltabush