これが私がFB.uiを使ってFacebookユーザーの壁にフラッシュアプリケーションを投稿するための基本です。より正確には、ユーザーが選択した友人の壁の1つにフラッシュアプリケーションを投稿できるようにします。
フラッシュは投稿され、Chrome、FF、Safari、およびIE9のhttp ...で正常に動作しますが、httpsではFFでは動作しません。
もちろん問題は、すべての主要なブラウザとhttpsで動作させる必要があることです。
コードでは、httpsプロトコルを使用してフラッシュアプリケーションを投稿していることがわかります。これは、Facebookの安全なブラウジングで動作させる方法であり、他のすべてのリンクはhttpプロトコルを使用しているためです。
strFlashVarsには、画像へのURLのいくつかの数字、文字列、および一部が含まれています
コードは次のとおりです(簡略化):
FB.ui({
method: 'stream.publish',
to: strUserIdOfSelectedFriend,
attachment: {
name: strName,
caption: strCaption,
description: strDescription,
href: strURLOfThePageThatHasTheMetaData,
media: [{
type: 'flash',
swfsrc: 'https://mysite.com/flashSrc.swf?' + strFlashVars,
imgsrc: strLinkToImage
}]
},
actions: {
name: 'Share',
link: 'http://www.facebook.com/share.php?u=' + encodeURIComponent(strURLOfThePageThatHasTheMetaData)
}
}, function(response){doSometing(response);});
そして、これらは、フラッシュが埋め込まれているページで使用するメタタグです。
<meta property="fb:app_id" content="${strFacebookAppId}" />
<meta property="og:title" content="${strPostTitle}" />
<meta property="og:description" content="${strDescription}" />
<meta property="og:type" content="video" />
<meta property="og:image" content="http:${strImgLink}" />
<meta property="og:video" content="http:${strFlashUrlSource}?${strFlashVars}"/>
<meta property="og:video:secure_url" content="https:${strFlashUrlSource}?${strFlashVars}"/>
<meta property="og:video:type" content="application/x-shockwave-flash" />
<meta property="og:video:width" content="398" />
<meta property="og:video:height" content="210" />
<meta property="og:site_name" content="${strPageTitle}" />
上記のものの問題は、フラッシュアプリケーションがIE7、IE8、およびOperaにまったく読み込まれないことです(画像と再生ボタンがありますが、クリックすると伸びるだけで、それだけで済みます)。安全なブラウジングをオンにしてFBを使用すると、FFでは機能しません。
私は次のコード(簡略化)も試しました:
FB.ui({
method: 'feed',
to: strUserIdOfSelectedFriend,
link: strURLOfThePageThatHasTheMetaData,
actions: {
name: 'Share',
link: 'http://www.facebook.com/share.php?u=' + encodeURIComponent(strURLOfThePageThatHasTheMetaData)
}
}, function(response){doSometing(response);});
このようにして、FBにリンク(http)から必要なデータを収集させ、IE7とIE8で機能します...しかし、どのブラウザーでもhttpsでは機能しません...その後、リンクのプロトコルをに切り替えようとしましたhttpsしかし、私は同じ結果を受け取りました。
私はどんな提案も歓迎します、そして、私ができる限り速くどんな質問にも答えようとします。
PS私も試しました
FB.ui({
method: 'feed',
to: strUserIdOfSelectedFriend,
link: strURLOfThePageThatHasTheMetaData,
name: strName,
caption: strCaption,
description: strDescription,
source: 'https://mysite.com/flashSrc.swf?' + strFlashVars,
picture: strLinkToImage,
actions: {
name: 'Share',
link: 'http://www.facebook.com/share.php?u=' + encodeURIComponent(strURLOfThePageThatHasTheMetaData)
}
}, function(response){doSometing(response);});
しかし、これには画像や再生ボタンがありませんでした...この方法でそれを行うように指示するドキュメントと、ソースと画像の両方を使用するかどうかを通知するドキュメントが見つかりました。画像は無視されます。