Использование Facebook Graph, чтобы просто опубликовать сообщение на стене только с JavaScript - PullRequest
40 голосов
/ 28 апреля 2010

В Facebook, как я могу опубликовать на стене пользователя сообщение «Я набрал 8/10 в игре с объектами», а затем URL?

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

Возможно ли использовать новый API Graph и JavaScript?

Ответы [ 3 ]

58 голосов
/ 11 мая 2010

Примечание 16.04.2011: stream.publish устарело, есть новый способ сделать это: http://developers.facebook.com/docs/reference/dialogs/feed/

Вы можете использовать что-то подобное для публикации на стене, которую пользователь должен подтвердить перед отправкой. Не забывайте, что вам нужно использовать FB.init и включить ссылку JS SDK.

 function fb_publish() {
     FB.ui(
       {
         method: 'stream.publish',
         message: 'Message here.',
         attachment: {
           name: 'Name here',
           caption: 'Caption here.',
           description: (
             'description here'
           ),
           href: 'url here'
         },
         action_links: [
           { text: 'Code', href: 'action url here' }
         ],
         user_prompt_message: 'Personal message here'
       },
       function(response) {
         if (response && response.post_id) {
           alert('Post was published.');
         } else {
           alert('Post was not published.');
         }
       }
     );  
  }
12 голосов
/ 20 ноября 2012

Запись на стене покажет диалоговое окно, чтобы поделиться сообщением на стене или нет. Но я хотел разместить сообщение на стене пользователя без уведомления, предполагая, что пользователь уже дал разрешение «Разместить на стене».

FB.api('/me/feed', 'post', {
      message:'my_message',
      link:YOUR_SITE_URL,
      picture:picture_url
      name: 'Post name',
      description: 'description'
 },function(data) {
      console.log(data);
 });
3 голосов
/ 05 октября 2011

Учитывая, что у вас есть прокси для совершения звонков между доменами, вы можете просто сделать это ...

В этом примере YourProxyMethod принимает jQuery.ajax, такой как хеш, создает сообщение на стороне сервера и возвращает ответ в ответных вызовах success / error. Любой обычный прокси должен делать.

Хитрость заключается в том, чтобы включить app_id и access_token в сам URL. Кроме того, ваше приложение FB должно иметь достаточные разрешения для совершения этого вызова.

YourProxyMethod({
  url : "https://graph.facebook.com/ID/feed?app_id=APP_ID&access_token=ACCESS_TOKEN",
  method : "post",
  params : {
    message : "message",
    name : "name",
    caption : "caption",
    description  : "desc"
  },
  success : function(response) {
    console.log(response);
  },
  error : function(response) {
    console.log("Error!");
    console.log(response);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...