Facebook にステータスを投稿する Web ページを作成しようとしていますが、FB Web ページのスクリプトでは実行できません。
<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" onclick="return postToWall();">Post To Wall</a>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: 'XXXX',
status: true,
cookie: true,
xfbml: true,
oauth: true });
function postToWall() {
FB.login(function(response) {
console.log(response);
if (response.authResponse) {
FB.ui({
method: 'feed',
name: 'Facebook Dialogs',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
});
} else {
alert('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_likes,offline_access,publish_stream'});
return false;
}
</script>
</body>
</html>
もちろん、アプリケーションの正しい appId を使用します。このスクリプトだけで、まだ何もないため、サンドボックス モードでアプリケーションを使用しています。私のウェブページには、投稿するこの部分だけがあり、Facebook に関連するものは何もありません。
xamppを使用してコンピューターでテストしています。だから私はFacebookアプリドメインでそれを書く必要があると思いますが、私が試したものはすべて(localhost、localhost/faceapp/...)失敗します。たとえば、次のようになります。
Error
App Domains: http://localhost/appFace should not contain protocol information.
プロンプトが表示されたら、ユーザーとパスワードを入力できますが、次のウィンドウで、アプリの構成などで Web ページが許可されていないことが示されます。私はスペイン語で読んだので、英語の正確な文章はわかりません。
私はこれについて多くの答えを見つけましたが、それらのほとんどはAPIの以前のバージョンのものです¨(それ以来変更されています)、他の人はlocalhostなどを使用するように指示しており、fbアプリの書き込みで変更を保存できません.