1

のために、私は私のウェブサイトのための「チェックイン」ボタンを実装しようとしています。主な目的:ユーザーがボタンをクリックすると、Facebookの共有ダイアログが開き、ユーザーはカスタムの場所でチェックされます。ユーザー投稿は自動的には投稿されず、メッセージはFacebookポリシーに違反しないように設定されません。 私が知る限り、これはFacebook Open Graphのストーリーで起こる可能性があります。 Open Graph Objectタイプとして「Place」オプションを追加しました。私はこれを行うには、私のアプリが "publish_actions"のアクセス許可を必要とし、私のアプリは開発者モードであることを知っているので、問題ではありません。私はFacebook Javascript SDKを使用しています。これは、(Facebookから与えられた)OGマークアップでFacebookはチェックインボタン私のウェブサイト

:だから、コードは次のようになり

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# place: http://ogp.me/ns/place#"> 
    <meta property="fb:app_id"    content="my-app-id" /> 
    <meta property="og:type"     content="place" /> 
    <meta property="og:url"     content="my-url" /> 
    <meta property="og:title"     content="my-place-name" /> 
    <meta property="og:image"     content="sample-url-image" /> 
    <meta property="place:location:latitude" content="Sample Location: Latitude" /> 
    <meta property="place:location:longitude" content="Sample Location: Longitude" /> 

、これは(もFacebookから与えられた)共有ダイアログを呼び出す関数です。

function share() 
{ 
    FB.api(
     'me/objects/place', 
     'post', 
     {'object': { 
     'og:url': 'my-url', 
     'og:title': 'my-place-name', 
     'og:type': 'place', 
     'og:image': 'sample-url-image', 
     'og:description': '', 
     'fb:app_id': 'my-app-id', 
     'place:location:latitude': 'Sample Location: Latitude', 
     'place:location:longitude': 'Sample Location: Longitude' 
     }}, 

    function(response) { 
     // handle the response 
     // for example (using Jquery) 
     $('#element').append('shared'); 
     } 
    ); 
} 

、これは関数が呼び出される方法です。

<span onclick="share()">click to share</span> 
<div id="element"></div> 

問題は、コードが動作しないということです共有ダイアログが開きません。私のミスはどこですか?

+0

共有ボタンに読み込むスクリプトがありますか?私はあなたのdevのツールで見れば、あなたが '捕捉されないにReferenceErrorが表示されます推測している:FB.apiは(...)' – tymcsilva

+0

FB.api()SDKがロードされるjavascript Facebookの後に呼び出される定義されていません。 – webtech

+0

あなたのコンソールにはどんなエラーがありますか? – tymcsilva

答えて

0

最後に、私はちょうど共有ボタンとしてそれを作成しました。実際に投稿されたかどうかを確認するオプションを使用して、それ以降はキャンセルされません。

FB.ui({ 
    method: 'share', 
    mobile_iframe: true, 
    title: 'My title', 
    href: 'url to share', 
    picture: 'image URL', 
    description: 'The description' 
    }, function (response) { 
    if (response && !response.error_message) { 
    alert('Thank you for sharing!'); 
    } else { 
    alert('You have cancelled the share.'); 
    } 
    }); 
},{scope: 'email'}); 
関連する問題