简体   繁体   中英

How to know the number of photos in a Tweet from Twitter API Java JSON

Anyone know if it's possible to know the real number of photos in a tweets from the twitter SEARCH api. As an example this tweet has 4 photos https://twitter.com/wtfbaile/status/652694439584993280/photo/1

Currently in order to do that, I must do 2 requests. The number of photos is only available in the second request.

The first one : (I only have one photo .. And I cannot know if there are more ..)

I would like to know if there are more, in order to don't do the second request

Link1

Result :

{
  "statuses": [
    {
      "metadata": {
        "result_type": "recent",
        "iso_language_code": "en"
      },
      "in_reply_to_status_id_str": null,
      "in_reply_to_status_id": null,
      "created_at": "Sat Oct 10 03:57:35 +0000 2015",
      "in_reply_to_user_id_str": null,
      "source": "<a href=\"http:\/\/twitter.com\/download\/iphone\" rel=\"nofollow\">Twitter for iPhone<\/a>",
      "retweet_count": 1,
      "retweeted": false,
      "geo": null,
      "in_reply_to_screen_name": null,
      "is_quote_status": false,
      "id_str": "652694439584993280",
      "in_reply_to_user_id": null,
      "favorite_count": 6,
      "id": 6.5269443958499e+17,
      "text": "some cool pictures from time square, brooklyn bridge and china town http:\/\/t.co\/kv0OVmoMoI",
      "place": null,
      "lang": "en",
      "favorited": false,
      "possibly_sensitive": false,
      "coordinates": null,
      "truncated": false,
      "entities": {
        "urls": [

        ],
        "hashtags": [

        ],
        "media": [
          {
            "display_url": "pic.twitter.com\/kv0OVmoMoI",
            "indices": [
              68,
              90
            ],
            "sizes": {
              "small": {
                "w": 340,
                "h": 191,
                "resize": "fit"
              },
              "large": {
                "w": 1024,
                "h": 576,
                "resize": "fit"
              },
              "thumb": {
                "w": 150,
                "h": 150,
                "resize": "crop"
              },
              "medium": {
                "w": 600,
                "h": 337,
                "resize": "fit"
              }
            },
            "id_str": "652694417070006272",
            "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
            "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
            "id": 6.5269441707001e+17,
            "type": "photo",
            "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
            "url": "http:\/\/t.co\/kv0OVmoMoI"
          }
        ],
        "user_mentions": [

        ],
        "symbols": [

        ]
      },
      "contributors": null,
      "user": {
        "utc_offset": -10800,
        "friends_count": 112,
        "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/652216850751688704\/kC7rdEm__normal.png",
        "listed_count": 3,
        "profile_background_image_url": "http:\/\/pbs.twimg.com\/profile_background_images\/378800000046929850\/8b7537e055b6c558c461f49cb1a3ad39.png",
        "default_profile_image": false,
        "favourites_count": 21009,
        "description": "?? | 121614 ?? | phs '18 | ig: wtfbaile",
        "created_at": "Sat Jun 30 02:41:11 +0000 2012",
        "is_translator": false,
        "profile_background_image_url_https": "https:\/\/pbs.twimg.com\/profile_background_images\/378800000046929850\/8b7537e055b6c558c461f49cb1a3ad39.png",
        "protected": false,
        "screen_name": "wtfbaile",
        "id_str": "622435883",
        "profile_link_color": "9266CC",
        "is_translation_enabled": false,
        "id": 622435883,
        "geo_enabled": true,
        "profile_background_color": "C0DEED",
        "lang": "en",
        "has_extended_profile": true,
        "profile_sidebar_border_color": "FFFFFF",
        "profile_text_color": "333333",
        "verified": false,
        "profile_image_url": "http:\/\/pbs.twimg.com\/profile_images\/652216850751688704\/kC7rdEm__normal.png",
        "time_zone": "Atlantic Time (Canada)",
        "url": null,
        "contributors_enabled": false,
        "profile_background_tile": true,
        "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/622435883\/1444187766",
        "entities": {
          "description": {
            "urls": [

            ]
          }
        },
        "statuses_count": 67181,
        "follow_request_sent": false,
        "followers_count": 600,
        "profile_use_background_image": true,
        "default_profile": false,
        "following": false,
        "name": "baile",
        "location": "410",
        "profile_sidebar_fill_color": "DDEEF6",
        "notifications": false
      }
    }
  ],
  "search_metadata": {
    "max_id_str": "652694439584993280",
    "since_id_str": "0",
    "query": "some+cool+pictures+from+time+square%2C+brooklyn+bridge+and+china+town+filter%3Aimages+exclude%3Aretweets",
    "count": 100,
    "max_id": 6.5269443958499e+17,
    "since_id": 0,
    "completed_in": 0.027,
    "refresh_url": "?since_id=652694439584993280&q=some%20cool%20pictures%20from%20time%20square%2C%20brooklyn%20bridge%20and%20china%20town%20filter%3Aimages%20exclude%3Aretweets&include_entities=1"
  }
}

The second one :

Link2

Result :

    {
  "possibly_sensitive_appealable": false,
  "extended_entities": {
    "media": [
      {
        "display_url": "pic.twitter.com\/kv0OVmoMoI",
        "indices": [
          68,
          90
        ],
        "sizes": {
          "small": {
            "w": 340,
            "h": 191,
            "resize": "fit"
          },
          "large": {
            "w": 1024,
            "h": 576,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 600,
            "h": 337,
            "resize": "fit"
          }
        },
        "id_str": "652694417070006272",
        "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
        "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
        "id": 6.5269441707001e+17,
        "type": "photo",
        "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
        "url": "http:\/\/t.co\/kv0OVmoMoI"
      },
      {
        "display_url": "pic.twitter.com\/kv0OVmoMoI",
        "indices": [
          68,
          90
        ],
        "sizes": {
          "small": {
            "w": 340,
            "h": 255,
            "resize": "fit"
          },
          "large": {
            "w": 1024,
            "h": 768,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 600,
            "h": 450,
            "resize": "fit"
          }
        },
        "id_str": "652694417128747008",
        "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
        "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHT_W8AAgwUB.jpg",
        "id": 6.5269441712875e+17,
        "type": "photo",
        "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHT_W8AAgwUB.jpg",
        "url": "http:\/\/t.co\/kv0OVmoMoI"
      },
      {
        "display_url": "pic.twitter.com\/kv0OVmoMoI",
        "indices": [
          68,
          90
        ],
        "sizes": {
          "small": {
            "w": 340,
            "h": 255,
            "resize": "fit"
          },
          "large": {
            "w": 1024,
            "h": 768,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 600,
            "h": 450,
            "resize": "fit"
          }
        },
        "id_str": "652694417195827200",
        "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
        "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHUPWgAA14SE.jpg",
        "id": 6.5269441719583e+17,
        "type": "photo",
        "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHUPWgAA14SE.jpg",
        "url": "http:\/\/t.co\/kv0OVmoMoI"
      },
      {
        "display_url": "pic.twitter.com\/kv0OVmoMoI",
        "indices": [
          68,
          90
        ],
        "sizes": {
          "small": {
            "w": 340,
            "h": 605,
            "resize": "fit"
          },
          "large": {
            "w": 575,
            "h": 1024,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 575,
            "h": 1024,
            "resize": "fit"
          }
        },
        "id_str": "652694417208385536",
        "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
        "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHUSWIAAP9Ue.jpg",
        "id": 6.5269441720839e+17,
        "type": "photo",
        "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHUSWIAAP9Ue.jpg",
        "url": "http:\/\/t.co\/kv0OVmoMoI"
      }
    ]
  },
  "in_reply_to_status_id_str": null,
  "in_reply_to_status_id": null,
  "created_at": "Sat Oct 10 03:57:35 +0000 2015",
  "in_reply_to_user_id_str": null,
  "source": "<a href=\"http:\/\/twitter.com\/download\/iphone\" rel=\"nofollow\">Twitter for iPhone<\/a>",
  "retweet_count": 1,
  "retweeted": false,
  "geo": null,
  "in_reply_to_screen_name": null,
  "is_quote_status": false,
  "id_str": "652694439584993280",
  "in_reply_to_user_id": null,
  "favorite_count": 6,
  "id": 6.5269443958499e+17,
  "text": "some cool pictures from time square, brooklyn bridge and china town http:\/\/t.co\/kv0OVmoMoI",
  "place": null,
  "lang": "en",
  "favorited": false,
  "possibly_sensitive": false,
  "coordinates": null,
  "truncated": false,
  "entities": {
    "urls": [

    ],
    "hashtags": [

    ],
    "media": [
      {
        "display_url": "pic.twitter.com\/kv0OVmoMoI",
        "indices": [
          68,
          90
        ],
        "sizes": {
          "small": {
            "w": 340,
            "h": 191,
            "resize": "fit"
          },
          "large": {
            "w": 1024,
            "h": 576,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 600,
            "h": 337,
            "resize": "fit"
          }
        },
        "id_str": "652694417070006272",
        "expanded_url": "http:\/\/twitter.com\/wtfbaile\/status\/652694439584993280\/photo\/1",
        "media_url_https": "https:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
        "id": 6.5269441707001e+17,
        "type": "photo",
        "media_url": "http:\/\/pbs.twimg.com\/media\/CQ7WHTxWoAA8JXV.jpg",
        "url": "http:\/\/t.co\/kv0OVmoMoI"
      }
    ],
    "user_mentions": [

    ],
    "symbols": [

    ]
  },
  "contributors": null,
  "user": {
    "utc_offset": -10800,
    "friends_count": 112,
    "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/652216850751688704\/kC7rdEm__normal.png",
    "listed_count": 3,
    "profile_background_image_url": "http:\/\/pbs.twimg.com\/profile_background_images\/378800000046929850\/8b7537e055b6c558c461f49cb1a3ad39.png",
    "default_profile_image": false,
    "favourites_count": 21009,
    "description": "?? | 121614 ?? | phs '18 | ig: wtfbaile",
    "created_at": "Sat Jun 30 02:41:11 +0000 2012",
    "is_translator": false,
    "profile_background_image_url_https": "https:\/\/pbs.twimg.com\/profile_background_images\/378800000046929850\/8b7537e055b6c558c461f49cb1a3ad39.png",
    "protected": false,
    "screen_name": "wtfbaile",
    "id_str": "622435883",
    "profile_link_color": "9266CC",
    "is_translation_enabled": false,
    "id": 622435883,
    "geo_enabled": true,
    "profile_background_color": "C0DEED",
    "lang": "en",
    "has_extended_profile": true,
    "profile_sidebar_border_color": "FFFFFF",
    "profile_text_color": "333333",
    "verified": false,
    "profile_image_url": "http:\/\/pbs.twimg.com\/profile_images\/652216850751688704\/kC7rdEm__normal.png",
    "time_zone": "Atlantic Time (Canada)",
    "url": null,
    "contributors_enabled": false,
    "profile_background_tile": true,
    "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/622435883\/1444187766",
    "entities": {
      "description": {
        "urls": [

        ]
      }
    },
    "statuses_count": 67181,
    "follow_request_sent": false,
    "followers_count": 600,
    "profile_use_background_image": true,
    "default_profile": false,
    "following": false,
    "name": "baile",
    "location": "410",
    "profile_sidebar_fill_color": "DDEEF6",
    "notifications": false
  }
}

As you've discovered, the Search API doesn't include support for "extended_entities" - which means no multiple images directly from search.

There are two ways you can get this info,

  1. Use https://api.twitter.com/1.1/statuses/show/652694439584993280.json as you've demonstrated.
  2. Use statuses/lookup if you want to get the extended_entities of multiple tweets simultaneously. Eg https://api.twitter.com/1.1/statuses/lookup.json?id=652694439584993280,1234567,9876543 ,...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM