Споделяне на Facebook публикация от id (Android SDK)

Извличам публикацията си на стената чрез API на Facebook Graph me/home и имам такива данни:

{
"data": [
{
  "id": "434028623322619_685556731503139", 
  "from": {
    "category": "Games/toys", 
    "name": "Gameloft", 
    "id": "434028623322619"
  }, 
  "to": {
    "data": [
      {
        "category": "App page", 
        "name": "World at Arms", 
        "id": "354464541311978"
      }
    ]
  }, 
  "full_picture": "https://fbexternal-a.akamaihd.net/safe_image.php?d=AQBMneZMJOUbYmab&url=https%3A%2F%2Ffbcdn-photos-h-a.akamaihd.net%2Fhphotos-ak-prn2%2Ft1.0-0%2F10325354_685556454836500_2869075300782966829_s.jpg", 
  "link": "https://www.facebook.com/GameloftFR/photos/a.434045733320908.96670.434028623322619/685556454836500/?type=1&relevant_count=1", 
  "actions": [
    {
      "name": "Comment", 
      "link": "https://www.facebook.com/434028623322619/posts/685556731503139"
    }, 
    {
      "name": "Like", 
      "link": "https://www.facebook.com/434028623322619/posts/685556731503139"
    }
  ], 
  "type": "photo", 
  "status_type": "added_photos", 
  "created_time": 1400751098, 
  "updated_time": 1400751098, 
  "message": "Qui a déjà testé les nouveaux hélicos de l'update de World at Arms  \n\nPostez nous vos plus belles images de combats en commentaire ! :-)\n\nTéléchargez le jeu sur #iOS et #Android : http://gmlft.co/V-wdI\n\nRetrouvez le #GameloftDirect dédié à cette nouvelle update ici : http://gmlft.co/6V8ny", 
  "object_id": "685556454836500"
}, 
{
  "id": "297172963760_10152858184403761", 
  "from": {
    "category": "Non-profit organization", 
    "category_list": [
      {
        "id": "10101384669488041", 
        "name": "Non-Profit Organization"
      }
    ], 
    "name": "Fédération Française de Gymnastique", 
    "id": "297172963760"
  }, 
  "name": "31èmes Championnats d'Europe de Gymnastique Artistique Masculine", 
  "story": "Fédération Française de Gymnastique added 10 new photos to the album 31èmes Championnats d'Europe de Gymnastique Artistique Masculine.", 
  "full_picture": "https://fbexternal-a.akamaihd.net/safe_image.php?d=AQBuTwqYKGVuA-Yp&url=https%3A%2F%2Ffbcdn-photos-g-a.akamaihd.net%2Fhphotos-ak-frc3%2Ft1.0-0%2F10374508_10152858178588761_2381196158150497207_s.jpg", 
  "link": "https://www.facebook.com/photo.php?fbid=10152858178588761&set=a.10152856981978761.1073741840.297172963760&type=1&relevant_count=10", 
  "caption": "Retrouvez des photos des Championnats d'Europe mi-mai à Sofia (Bulgarie).", 
  "actions": [
    {
      "name": "Comment", 
      "link": "https://www.facebook.com/297172963760/posts/10152858184403761"
    }, 
    {
      "name": "Like", 
      "link": "https://www.facebook.com/297172963760/posts/10152858184403761"
    }
  ], 
  "type": "photo", 
  "status_type": "added_photos", 
  "created_time": 1400749843, 
  "updated_time": 1400749843, 
  "object_id": "10152858178588761"
}
] 
}

Сега искам да споделя една от тези публикации с помощта на feedDialog:

private void publishFeedDialog() {
Bundle params = new Bundle();
params.putString("name", "Facebook SDK for Android");
params.putString("caption", "Build great social apps and get more installs.");
params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
params.putString("link", "https://developers.facebook.com/android");
params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");

WebDialog feedDialog = (
    new WebDialog.FeedDialogBuilder(getActivity(),
        Session.getActiveSession(),
        params))
    .setOnCompleteListener(new OnCompleteListener() {

        @Override
        public void onComplete(Bundle values,
            FacebookException error) {
            if (error == null) {
                // When the story is posted, echo the success
                // and the post Id.
                final String postId = values.getString("post_id");
                if (postId != null) {
                    Toast.makeText(getActivity(),
                        "Posted story, id: "+postId,
                        Toast.LENGTH_SHORT).show();
                } else {
                    // User clicked the Cancel button
                    Toast.makeText(getActivity().getApplicationContext(), 
                        "Publish cancelled", 
                        Toast.LENGTH_SHORT).show();
                }
            } else if (error instanceof FacebookOperationCanceledException) {
                // User clicked the "x" button
                Toast.makeText(getActivity().getApplicationContext(), 
                    "Publish cancelled", 
                    Toast.LENGTH_SHORT).show();
            } else {
                // Generic, ex: network error
                Toast.makeText(getActivity().getApplicationContext(), 
                    "Error posting story", 
                    Toast.LENGTH_SHORT).show();
            }
        }

    })
    .build();
feedDialog.show();
}

Има ли начин да споделите публикацията директно, като използвате идентификатора на публикацията (напр.: 434028623322619_685556731503139) или нещо друго и да позволите на feedDialog да вземе необходимата информация?

Това, което имам предвид, е същото като уеб споделянето, поставяте връзка и Facebook се опитва да вземе информацията за страницата (чрез og или изтриване)


person Plumillon Forge    schedule 22.05.2014    source източник


Отговори (1)


Можете да го направите с помощта на facebook graph api и php sdk. Създадох подобно приложение за това. можете да имате демонстрация на приложението от тази връзка множествен плакат във Facebook

person Community    schedule 27.02.2015