FACEBOOK GRAPH / rest api: как подключить мой СОБСТВЕННЫЙ ПОЛЬЗОВАТЕЛЬ, чтобы обновить мое ПОЛОЖЕНИЕ с PHP

Я хочу обновить статус FAN-PAGE PHP с помощью графика Facebook api. google говорит: не работает.

Теперь я хочу обновить свой собственный пользовательский статус с помощью PHP. Моя главная проблема заключается в том, как подключить мой собственный пользователь к графику api (с PHP), без использования браузера и без смешных обходных решений PHP.

Solutions Collecting From Web of "FACEBOOK GRAPH / rest api: как подключить мой СОБСТВЕННЫЙ ПОЛЬЗОВАТЕЛЬ, чтобы обновить мое ПОЛОЖЕНИЕ с PHP"

В обоих случаях вам нужно получить разрешение publish_stream http://developers.facebook.com/docs/authentication/permissions

Это можно сделать с помощью FB.login ()

Дополнительная информация: http://developers.facebook.com/docs/authentication

После этого вы можете просто обновить статус с помощью графика api post: http://developers.facebook.com/docs/reference/api/post

моя главная проблема заключается в том, как подключить моего пользователя к графику api (с php), без использования браузера и без смежных обходных решений PHP.

Вы не можете действовать от имени пользователя (даже вашего собственного пользователя), не взаимодействуя с ним через браузер хотя бы один раз, чтобы получить offline_access .

Как получить разрешение offline_access и как его использовать оттуда, объясняется в этом ответе .

РЕДАКТИРОВАТЬ:
Пожалуйста, прочитайте комментарии! спасибо @zerkms!

Вам нужно несколько вещей, чтобы обновить свой профиль facebook или фид страницы: приложение facebook ( client_id , client_secret ), profile_id и access_token (publish_stream, manage_pages, разрешения offline_access)

Вам нужен offline_access, потому что если нет, то токен доступа истечет. Если вы прочитали, что вам не нужен offline_access, если у вас уже есть параметр publish_stream, они просто означали, что вам это не нужно всегда.

Опубликовать сообщение легко:

 $data = array( 'access_token' => $access_token, 'message' => 'status message', ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/{$profile_id}/feed"); 

Теперь, как получить profile_id и access_token , вы можете использовать приложение panda для вашего приложения или создать свой собственный скрипт. Я включу его здесь:

 # arvin castro # http://codecri.me/ # January 16, 2011 $client_id = ''; # application id $client_secret = ''; # application secret $callbackURL = 'http://'; # the URL of this script $extendedPermissions = 'publish_stream,manage_pages,offline_access'; session_name('facebookoauth'); session_start(); if(isset($_GET['logout']) and $_SESSION['loggedin']) { $_SESSION = array(); session_destroy(); } if(isset($_GET['signin'])) { # STEP 1: Redirect user to Facebook, to grant permission for our application $url = 'https://graph.facebook.com/oauth/authorize?' . xhttp::toQueryString(array( 'client_id' => $client_id, 'redirect_uri' => $callbackURL, 'scope' => $extendedPermissions, )); header("Location: $url", 303); die(); } if(isset($_GET['code'])) { # STEP 2: Exchange the code that we have for an access token $data = array(); $data['get'] = array( 'client_id' => $client_id, 'client_secret' => $client_secret, 'code' => $_GET['code'], 'redirect_uri' => $callbackURL, ); $response = xhttp::fetch('https://graph.facebook.com/oauth/access_token', $data); if($response['successful']) { $var = xhttp::toQueryArray($response['body']); $_SESSION['access_token'] = $var['access_token']; $_SESSION['loggedin'] = true; } else { print_r($response['body']); } } if($_SESSION['loggedin']) { // Get Profile ID $data = array(); $data['get'] = array( 'access_token' => $_SESSION['access_token'], 'fields' => 'id,name,accounts', ); $response = xhttp::fetch('https://graph.facebook.com/me', $data); echo '<pre>'; print_r(json_decode($response['body'], true)); echo '</pre>'; } else { echo '<a href="?signin">Sign in with Facebook</a>'; } ?> 

Я использую мой класс оболочки cURL, xhttp