Я использую PHP для системы входа в систему с facebook, но он не получит загруженные изображения из профиля Facebook, только изображение профиля и нормальные вещи из facebook, такие как адрес электронной почты и пользователя.Facebook Graph user pictures
<?php
/* INCLUSION OF LIBRARY FILEs*/
require_once('lib/Facebook/FacebookSession.php');
require_once('lib/Facebook/FacebookRequest.php');
require_once('lib/Facebook/FacebookResponse.php');
require_once('lib/Facebook/FacebookSDKException.php');
require_once('lib/Facebook/FacebookRequestException.php');
require_once('lib/Facebook/FacebookRedirectLoginHelper.php');
require_once('lib/Facebook/FacebookAuthorizationException.php');
require_once('lib/Facebook/GraphObject.php');
require_once('lib/Facebook/GraphUser.php');
require_once('lib/Facebook/GraphSessionInfo.php');
require_once('lib/Facebook/Entities/AccessToken.php');
require_once('lib/Facebook/HttpClients/FacebookCurl.php');
require_once('lib/Facebook/HttpClients/FacebookHttpable.php');
require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php');
/* USE NAMESPACES */
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;
use Facebook\GraphSessionInfo;
use Facebook\FacebookHttpable;
use Facebook\FacebookCurlHttpClient;
use Facebook\FacebookCurl;
/*PROCESS*/
//Stat Session
session_start();
//check if users wants to logout
if(isset($_REQUEST['logout'])){
unset($_SESSION['fb_token']);
}
//Use app id,secret and redirect url
$app_id = '****';
$app_secret = '*****';
$redirect_url='http://www.url.com/index.php';
//Initialize application, create helper object and get fb sess
FacebookSession::setDefaultApplication($app_id,$app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_url);
$sess = $helper->getSessionFromRedirect();
//check if facebook session exists
if(isset($_SESSION['fb_token'])){
$sess = new FacebookSession($_SESSION['fb_token']);
try{
$sess->Validate($id, $secret);
}catch(FacebookAuthorizationException $e){
print_r($e);
}
}
$loggedin = false;
//get email as well with user permission
$login_url = $helper->getLoginUrl(array('email, user_birthday, user_likes, user_friends, user_website, user_photos'));
//logout
$logout = 'http://url.com/index.php';
//if fb sess exists echo name
if(isset($sess)){
//store the token in the php session
$_SESSION['fb_token']=$sess->getToken();
//create request object,execute and capture response
$request = new FacebookRequest($sess,'GET','/me');
// from response get graph object
$response = $request->execute();
$graph = $response->getGraphObject(GraphUser::classname());
// use graph object methods to get user details
$id = $graph->getId();
$firstname = $graph->getFirstName();
$lastname = $graph->getLastName();
$name = $graph->getName();
$email = $graph->getProperty('email');
$image = 'https://graph.facebook.com/'.$id.'/picture?width=64&height=64';
$userphoto = 'https://graph.facebook.com/'.$id.'/photos/uploaded';
$loggedin = true;
Переменная $userphoto
- это тот, кто должен показывать все загруженные фотографии от пользователя, но этот не будет показывать какие-либо мои фотографии. Что я делаю не так?
Первое спасибо за ваш комментарий, но вы говорите, что они будут работать только для людей с ролью в приложении с администратором или разработчиком, администратором i'm из приложения, но я Не видите ли какие-либо мои фотографии, показывающие там? –
Я отредактировал свой ответ, пожалуйста, проверьте токен доступа в отладчике. – luschn
Когда я заполняю свой URL-адрес, он ничего не говорит о разрешениях или чем-то вроде этого? –