0

さて、私はajaxを使用してFacebookに投稿しようとしています。問題は、ログインしていないことです。これは、要求されているページです。configには、Facebookアプリの認証の詳細が含まれています。ajaxでこのリクエストを実行しようとすると、何を実行する必要があるのか​​理解できず、試行したすべての結果が0(ユーザーなし)になっていると思います。

<?php
require_once 'includes/config.php';

//Including facebook php sdk file
require_once 'includes/php-sdk/facebook.php';

//Creating our application instance
$facebook = new Facebook(array(
            'appId' => APP_ID,
            'secret' => APP_SECRET,
            'cookie' => true
        ));

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

if ($user) {
    try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
        $access_token = $facebook->getAccessToken(); 
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
    //In order to post to the page later on we need to generate an Access Token for that page, to do this we get me-accounts in the following api call
    $accounts = $facebook->api('/me/accounts');
}
4

1 に答える 1

0

https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.phpをご覧ください

それが言うところ

$facebook = new Facebook(array(
  'appId'  => '344617158898614',
  'secret' => '6dc8ac871858b34798bc2488200e503d',
));

// 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');
  } 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();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

このコードを試してみてください。使用するAPIのFacebookアカウントでログインしたことがない可能性があります(この場合、コードのgetLogoutUrl()およびgetLoginUrl()ビットを参照しています)。その場合は、たとえば、次を使用して$loginUrlへのユーザー。

header("location: $loginUrl");
于 2012-09-13T21:05:31.560 に答える