私はFacebookの統合を持っているWebサイトを開発し始めました.Javascript SDKを使用している間は正常に動作しているようです。私はユーザーの名前とプロフィールの写真を表示しました。それから、JSを使って認証接続を行い、PHP SDKを使用してAPIを簡単に実行できるように、どこにでも読んでいます。どのFacebookログインボタンを使用しますか?その理由は何ですか?
私は2つの異なるログイン方法のいずれかを使用することに直面しましたが、私の人生のために、私はそれから欲しいものを得ることができません。ドキュメンテーションが明らかに何かの賛否両論を説明していないようで、どのような状況がどのようなアプローチに最も適しているかのようです。例えば
:
<?php if (!$user) { ?>
<div class="fb-login-button" data-perms="email,user_birthday">Login with Facebook</div>
<?php } else { ?>
Your user profile is
<pre>
<?php //print htmlspecialchars(print_r($user_profile, true)) ?>
</pre>
<?php echo $user_profile['name']; ?>
<?php
$data = array("message" => "Hello Woghfd!");
$status = $facebook->api("/me/feed", "POST", $data);
//echo $user;
?>
<?php }
しかし、その後、他のボタンもあります:
<fb:login-button scope="email,user_about_me">Connect Facebooks</fb:login-button>
そしてJS関数FB.loginの呼び出しが。
私はこのすべてを気にwouldntのが、私はこのコードをユーザーの壁に投稿するPHP SDKを使用する能力をテストしてい:
$status = $facebook->api("/me/feed", "POST", $data);
をそして、私はエラーメッセージを取得しておく:
致命的にエラー:未知OAuthException:(#200)ユーザーがこのアクションを実行するアプリケーションを承認していない
これは私のウェブサイトにアクセスしたときです。その後、ログアウトして、自分のウェブサイトのログインボタンを使用してログインし直すと、それが動作します。私は明らかに、このサイトにアクセスするすべてのユーザーに対してこれが発生しないようにしています。
誰かがこれらのボタンの意味を説明できますか?私は説明のためにインターネットを精練するのに数日を費やしていますが、SDKのアップデートが考慮されると、何が最善のアプローチであるか分かりません。
ありがとうございました。
ええ、それは意味がある、私はすべてを読んだことがある。私はpublish_streamパーミッションを要求してから、それを削除して何が起こるかを見ました。これまでアプリを使用していた人は壁に投稿してもらうことができますが、新しい人は私が述べたエラーを投げます。これは迷惑なことです。なぜなら、私が自分のFacebookアカウントで、ユーザーが最初にサイトにアクセスしたときに取得したビューを、まだ受け入れられていないアクセス許可なしでテストしたいからです。許可された全員のアクセス許可を削除することは可能ですか? – JamesG
あなたがその許可を持っていて、それを承認した人は、まだそれを持っていて、彼らがそのアプリを削除するか、その許可を取り消すまでそれを持っていきます。新しいユーザーは、あなた自身が書いたように、この許可を得られません。そのため、アプリは壁に投稿できません。ユーザの壁に投稿する唯一の方法は、その許可を得ることです。プライバシー設定>アプリとウェブサイト(設定の編集)>使用しているアプリ(設定の編集)をアプリに許可する前に、そのアプリを承認する前に見た目をテストしたい場合は、 –