のために、私は私のウェブサイトのための「チェックイン」ボタンを実装しようとしています。主な目的:ユーザーがボタンをクリックすると、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>
問題は、コードが動作しないということです共有ダイアログが開きません。私のミスはどこですか?
共有ボタンに読み込むスクリプトがありますか?私はあなたのdevのツールで見れば、あなたが '捕捉されないにReferenceErrorが表示されます推測している:FB.apiは(...)' – tymcsilva
FB.api()SDKがロードされるjavascript Facebookの後に呼び出される定義されていません。 – webtech
あなたのコンソールにはどんなエラーがありますか? – tymcsilva