-1

ウェブサイトで PHP を使用して Facebook アプリを作成しました。私のウェブサイトでこのアプリケーションを使用するには、ユーザーは Facebook 認証を使用してログインする必要があります。

このアプリは基本的に、ユーザーが自分のウォールにデフォルトのコメントを投稿できるようにします。私の Facebook プロフィール アカウントを使用すると正常に動作しますが、友人に私のサイトを使用するように依頼すると、次のエラーが表示されます - 「Uncaught OAuthException: (#200) The user has not Authorized the application to perform this action throw in」

これまでに見つけた問題の唯一の解決策は、次の URL を入力することです -<pre>https://www.facebook.com/login.php?api_key=API_KEY&cancel_url=http://www.magimagi.com&next=http://magimagi.com/login/uploadtopage2.php&fbconnect=1&return_session=1&session_version=3&v=1.0&display=page&req_perms=user_about_me,user_birthday,publish_stream,offline_access</pre>

ユーザーがクリックするためのリンクをアプリに作成したくありません。代わりに、Web サイトに既にある PHP コードにリンクを統合したいと考えています。

ここに私が持っているサンプルPHPコードがあります

<pre>

/ Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(   array(
       'scope' => 'publish_stream'
      ));
}
</pre>

これはHTMLです

<pre>
<form id="selectFriend" name="selectFriend" method="post">
<label for="Friend">Friend:</label>
<select id="friend" name="friend">
<?php 
foreach($user_friends['data'] as $f){
echo '<option value="'.$f['id'].'">'.$f['name'] .'</option>';
} 
?>
</select>
<label for="URL">URL:</label>
<input id="link" name="link">
<input id="message" name="message">
<input type="submit" name="submit" id="submit" value="Send!">
</form>

4

2 に答える 2

0

Graph Explorerでこれを試したところ、から情報を取得するには/me、アクセストークンを渡す必要があるようです (以前はこのようだったことを覚えていません)。if の代わりにユーザーの ID を使用しても問題なく動作/meし、アクセス トークンなしで基本情報を返します。現在のリクエストでアクセス トークンを渡すこともできます。

$token = $facebook->getAccessToken();
$user_profile = $facebook->api('/me',array (
'access_token' => $token)
);
于 2012-06-13T13:07:00.723 に答える
0

「キャッチされていない OAuthException: (#200) ユーザーは、スローされたこのアクションを実行するアプリケーションを承認していません」

私が今まで見つけた私の問題に対する唯一の解決策は[…]

ここまでは、アプリと承認の基本についてあまり理解していないようです。関連するドキュメントを読み始めてください。

https://developers.facebook.com/docs/authentication/

于 2012-06-13T13:31:07.147 に答える