2010-05-12 4 views
1

Я изо всех сил пытаюсь разобраться с отправкой элемента фида всем членам утвержденного приложения.Facebook Open Graph - сообщение всем зарегистрированным пользователям.

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

Я использую Facebook PHP SDK от http://github.com/facebook/php-sdk/ и моего код настоящего времени драйвера выглядит следующим образом:

require 'src/facebook.php'; 


//Generates access token for this transaction 
$accessToken = file_get_contents("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=MyAppId&client_secret=MySecret"); 

//Gets the full user details as an object 
$contents = json_decode(file_get_contents("https://graph.facebook.com/SomeUserId?scope=publish_stream&" . $accessToken)); 

print_r($contents); 

if ($facebook->api('/' . $contents->id . '/feed', 'POST', 
      array(
       'title' => 'New and Improved, etc - 12/03/2010', 
       'link' => 'http://www.ib3.co.uk/news/2010/03/12/new-and-improved--etc', 
       'picture' => 'http://www.ib3.co.uk/userfiles/image/etc-booking.jpg', 
       'scope' => 'publish_stream' 
       ) 
      )==TRUE) { 
     echo "message posted"; 
    } else { 
     echo "message failed"; 
    } 

Выход из $contents показывает ожидаемые данные пользователя, но ничего, связанные с разрешениями для моего приложения. Я пропустил трюк здесь?

Затем с помощью функции $facebook->api() Я получаю

200 - ошибка разрешений

. Приложение не имеет разрешения на выполнение этого действия.

Это заставляет меня немного горшок, поскольку я подозреваю, что мне не хватает чего-то простого с разрешения, но что?

Заранее благодарим за помощь.

ответ

0

У меня была такая же проблема вчера. В конце концов я понял, что, хотя я поставил проверил «разрешение разместить на стене», я должен был сделать этот шаг также:

https://graph.facebook.com/oauth/authorize?client_id=XXXXXXX&scope=publish_stream&redirect=http://back.to.your.app/

Там, конечный пользователь будет подан со знакомым Facebook «Разрешить этому приложению доступ к вашей информации?» Диалог. После того, как вы разрешите, он вернется в ваше приложение, которое затем получит соответствующие разрешения.

Надеюсь, это поможет!

+0

Cheers Hugo, У меня не было большой возможности взглянуть на это недавно. Но спасибо за ваш вклад. – simnom