0

ログインしている現在のユーザーのFacebook IDを取得して、他の情報とともにデータベースに書き込むことができるように、アプリを使用しています。

私は何度もテストしましたが、ID を取得してデータベースに書き込みますが、他の人に使用を依頼すると... アプリケーションのユーザーの ID を取得できません...

これに対する拡張アクセス許可がありませんか? ユーザーIDを取得するためにこれまでに持っているのはこれだけです。

ありがとう。

<?php include ('includes/php/facebook.php'); ?>

<?php

$facebook = new Facebook(array(
  'appId' => 'XXXXXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
));

?>

<?php

    $user = $facebook->getUser();
    $userId = $user;
    //some code here...
?>
4

2 に答える 2

1

$userID が 0 または null の場合、ユーザーが認証されていないことを意味します。

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

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me/accounts');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl(array("domain" => 'www.myurl.com'));
} else {
  $loginUrl = $facebook->getLoginUrl(array("scope" => 'publish_stream,offline_access,manage_pages'));
}

SDK はhttp://developers.facebook.com/docs/reference/php/からダウンロードできます。

いくつかの例が含まれています。

于 2012-02-13T22:02:04.757 に答える
0

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

デフォルトでは、ユーザーはアプリが公開されているか、デフォルトで Facebook で利用可能な基本情報にアクセスすることを承認するよう求められます。アプリが機能するためにこれ以上の基本情報が必要な場合は、ユーザーに特定の権限を要求する必要があります。これは、スコープ パラメータを OAuth ダイアログ リクエストに追加し、その後に必要なアクセス許可のカンマ区切りのリストを追加することによって実現されます。次の例は、ユーザーの電子メール アドレスとニュース フィードへのアクセスを要求する方法を示しています。

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
于 2012-02-13T22:00:33.783 に答える