0

これが私が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);});

しかし、これには画像や再生ボタンがありませんでした...この方法でそれを行うように指示するドキュメントと、ソースと画像の両方を使用するかどうかを通知するドキュメントが見つかりました。画像は無視されます。

4

1 に答える 1

0

したがって、問題は、何時間もの混乱の後に判明したことでした。IE9、Chrome、Safariで受け入れられるSSL証明書がある場合、他のブラウザーがそれを受け入れるとは限りません。したがって、基本的に証明書が問題を引き起こしました。

私が興味深いと思うのは、FFが証明書を受け入れなかったにもかかわらず、それでもhttpで機能することができたということです。

于 2012-06-15T12:30:13.190 に答える