Общий доступ к Opengraph в Android для facebook

#android #facebook

#Android #Facebook

Вопрос:

Я пытаюсь прикрепить изображение к публикации в Facebook через диалоговое окно общего доступа к opengraph.Я следовал всему точно так, как предлагала документация facebook developer.Я получаю сообщение об ошибке «Не удалось создать предварительный просмотр пользователя».Должен ли я проверять разрешение на публикацию?

 OpenGraphObject numberFriendsObject = OpenGraphObject.Factory
                .createForPost("numberfriends");
        Log.d("username:", "object type"   numberFriendsObject.getType());
        numberFriendsObject.setProperty("title", "title");
OpenGraphAction action = GraphObject.Factory
            .create(OpenGraphAction.class);
    action.setType("learn");

    action.setProperty("numberfriends", numberFriendsObject);

    FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(
            SettingsScreenActivity.this, action, "numberfriends").build();

    uiHelper.trackPendingDialogCall(shareDialog.present());
  

Ответ №1:

Установлено ли у вас разрешение «publish_actions»?

Редактировать:

Я предполагаю, что вы используете какой-то логин Facebook перед этим кодом. Я использовал кнопку входа facebook (см. Их Документы — есть хороший учебник):

     facebookLoginButton.setReadPermissions(Arrays.asList("publish_actions"));
  

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

1. Я новичок в этом виде обмена. Я не установил publish_action. Как это сделать?

2. Как обойтись без набора publish_actions для open graph. В документе указано, что не обязательно требовать наборов publish_actions

3. Не уверен, но в настройке разрешения нет недостатка. Почему бы просто не попробовать?

4. Я не использую какую-либо кнопку входа как таковую. можете ли вы дать мне код для обмена изображением через Facebook opengraph. В настоящее время мой диалог закрывается через несколько секунд. ошибка: не удалось создать предварительный просмотр для пользователя.

5. Как вы делитесь изображением, если вы не входите в учетную запись Facebook?

Ответ №2:

Поскольку «игра» является пользовательским свойством, строка

     openGraphAction.setProperty("game", setObj);
  

необходимо заменить на:

     openGraphAction.getData().setProperty("game", setObj);
  

Ссылка: Android open-graph.

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

1. Я изменил свойство game на другое. По-прежнему отображается ошибка создания пользовательского предварительного просмотра.

2. затем сократите свой код, например, удалите bitmap и другой необычный код, и пусть он будет очень похож на стандартный код, на который ссылаются. Затем проверьте, что происходит. У вас небольшая ошибка, подобная той, о которой я упоминал где-то еще.