Фотографии с тегами API Facebook работают только в режиме песочницыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Фотографии с тегами API Facebook работают только в режиме песочницы

Сообщение Anonymous »

У меня возникла проблема с функцией пометки API Facebook. Я сделаю краткое описание приложения, которое создаю, чтобы вы лучше поняли, что мне нужно.

Я создаю приложение, в котором пользователь выбирает своих друзей, а программа создает изображение с именами всех его друзей и тегами каждого из них.

Мне удается выполнять все функции: перечислять друзей, выбирать их, генерировать изображения и публиковать сообщения. на временную шкалу. Но я не могу отмечать людей, что является важной функцией для вирусного эффекта приложения.

Происходит странная вещь, если я включаю режим песочницы и выбираю только АДМИНЫ или ТЕСТЕРЫ, код работает. Но если я выключу режим «Песочница» и выберу других друзей, с тегами ничего не произойдет.

Ниже я оставляю код, который использовал.
Я использовал функция array_push для добавления идентификаторов в массив тегов Facebook.

Подключение к Facebook:

Код: Выделить всё

// INSERE O HEADER
include('includes/header.php');

// CONNECT // CONFIGURAÇÕES
require('facebook_sdk/src/facebook.php');

// CONEXÃO COM O FACEBOOK
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXX,
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
));

// PEGA SEU ID
$user = $facebook->getUser();

// FUNÇÕES QUE PEGA AS INFOS DO FACEBOOK
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me?fields=id,name,email,friends,photos,friends.fields(photos)');
$input = $facebook->api('/me?fields=id,name,email,friends,photos,friends.fields(photos)');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}

// LINK PARA LOGOUT E REDIRECT SE FOR USUARIO
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
header('Location: passo1.php');
}
?>            
[img]images/bt-face.png[/img]







function fbLogin() {
FB.login(function(response) {
if (response.session) {
//user is logged in, reload page
window.location.reload(true);
} else {
// user is not logged in
}
}, { perms:'email,manage_friendlists,publish_stream,user_photos,friends_photos'} );
}


Код тегирования:

Код: Выделить всё

if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$access_token = $facebook->getAccessToken();
$timeline = $facebook->api('/me?link');
$timeline_link = $timeline['link'];
$input = $facebook->api('/me?fields=id,name,email,friends,photos,friends.fields(photos)');
//At the time of writing it is necessary to enable upload support in the Facebook SDK, you do this with the line:
$facebook->setFileUploadSupport(true);

$album = $facebook->api(array(
'query' => "SELECT object_id FROM album WHERE owner=me() AND name='Album name' AND can_upload=1",
'method' => 'fql.query',
));

if (isset($album[0]['object_id'])) $album_uid = $album[0]['object_id'];
else
{
foreach ($albums[data] as $album) {
//Test if the current album name is already in facebook
if($album[name] == 'Album name'){
$album_uid = $album[id];

}
}

if(!$album_uid){

}

}

//Upload a photo to album of ID...
$photo_details = array(
'message'=> 'Eu criei um time...'
);
$file = $url_image; //'images/teste2.gif'; //Example image file

$args_tags = array();

// RETIRA BARRAS DOS ARRAYS
$parte = explode("//", $convocados);
$conta = count($parte);

// EXIBE
$espacamento_linha = 20;
$x_convocados = 0;
$y_convocados = 0;
$array_facebook_tag = '';

for($i=0; $i < ($conta-1); $i++) {

$explode_parte = explode("-", $parte[$i]);

$nome = str_replace("_"," ", $explode_parte[0]);
$id = $explode_parte[1];

$x_jogador = $x_convocados;
$y_jogador = $y_convocados + ($i * $espacamento_linha);

array_push($args_tags, array('tag_uid' => $explode_parte[1], 'x' => $x_jogador, 'y' => $y_jogador));

}
$args = array(

'message' => 'Esse é o meu time dos sonhos. Crie o seu time ',
'image' => '@' .  realpath($file),
'tags' => $args_tags,

);

$upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $args);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
Любая помощь будет приветствоваться, спасибо!

Подробнее здесь: https://stackoverflow.com/questions/127 ... ndbox-mode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»