Facebook (на Android) дважды открывает записи в графе в журнале активности

#facebook #facebook-graph-api #facebook-android-sdk

#Facebook #facebook-graph-api #facebook-android-sdk

Вопрос:

Я разрабатываю приложение для Android и использую Facebook Android SDK 3. Я использовал следующий пример для публикации действий open graph :

https://github.com/fbsamples/android-3.0-howtos/blob/master/ObjectAPIHowTo/Complete/src/com/facebook/samples/shareoghowto/MainFragment.java

Мой объект — это объект movie, и после каждого сообщения в журнале активности отображаются 2 опубликованные вещи :

 <User> <my_action> a movie on Facebook
<User> posted a movie on Facebook
  

Есть ли способ, которым я могу отобразить только одно действие на временной шкале :

 <User> <my_action> a movie on Facebook
  

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

Мой код создания объекта :

 private OpenGraphObject getFacebookMovieObject(Movie m) {

        OpenGraphObject object = OpenGraphObject.Factory.createForPost(OpenGraphObject.class,
                "video.movie", m.getTitle(), m.getImage(),
                “http://www.themoviedb.org/movie/” m.getId(),
                m.getComments());

        return object;
}
  

Я также попробовал приведенный ниже код:

 private OpenGraphObject getFacebookMovieObject(Movie m) {
        OpenGraphObject object = OpenGraphObject.Factory.createForPost("video.movie");

        object.setProperty("title", m.getTitle()); 
        object.setProperty("image", m.getImageLarge());
        object.setProperty("url", "http://www.themoviedb.org/movie/" m.Id());
        object.setProperty("description", m.getComments());

        return object;
    }
  

Спасибо 🙂

Комментарии:

1. Интересно, кто-нибудь знает, как решить эту проблему, используя новый SDK и iOS?

Ответ №1:

ДА. На самом деле вы можете просто создать объект inline один раз. Вместо того, чтобы создавать сообщение о создании объекта, а затем отправлять сообщение с использованием этого идентификатора, вы можете просто создать одно сообщение и встроить объект.

Комментарии:

1. Я даже пробовал это: com.facebook. Запрос ActionRequest = com.facebook. Request.newPostOpenGraphActionRequest(Session.getActiveSession(),action, actionCallback); ActionRequest.setGraphObject(объект); Даже это не работает .. 🙁

2. Можете ли вы подробнее рассказать о том, что такое «объект»? Возможно, отредактируйте свой первоначальный вопрос, чтобы включить больше кода, чтобы он был лучше отформатирован?

3. Можете ли вы ответить, как вы используете рассматриваемый объект? После его создания вы не должны его публиковать. Вы должны передать его в сообщение о действии в качестве объекта. Вместо того, чтобы использовать API create object, а затем брать результирующий идентификатор и передавать его в качестве объекта в <my_action> , вы должны просто передать строковое представление объекта в формате JSON. Вызовите object.getInnerJSONString().toString()