一种从推文中获取图像的方法

A way to get image from A Tweet

我正在尝试从推文中提取图像 (media_url)。 问题是:当您想在 Android 应用程序中共享推文时,我唯一拥有的是我从共享意图中获得的推文。 我没有看到 API 我们在其中调用推文并且 returns 我们使用图像 URL。 有没有办法从通过 Twitter 应用程序的共享按钮共享的推文中获取图像 url?

protected void onCreate(Bundle savedInstanceState) {

      Intent intent = getIntent();
        String action = intent.getAction();
        String type = intent.getType();

        if (Intent.ACTION_SEND.equals(action) && type != null) {    
            Bundle bundle = intent.getExtras();
            Set<String> keys = bundle.keySet();
            Log.v("SAURAV"," Size is ::" + keys.size()); 
            for (String string : keys) {
                String image_url = intent.getStringExtra(string);
                Log.v("SAURAV","image_url ::"+image_url);
            }

            if ("text/plain".equals(type)) {        
                String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
                Toast.makeText(getApplicationContext(), ""+sharedText, Toast.LENGTH_LONG).show();
                /*Log.d("Saurav","URL We get :"+image_url);*/
                Log.d("Saurav","SharedText is:"+sharedText);
                handleShare(intent);

            } else if (type.startsWith("image/")) {
                Toast.makeText(getApplicationContext(), ""+type, Toast.LENGTH_LONG).show();
                            }
        }
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

不幸的是,Twitter 没有为您提供该信息。我已经用我的一条推文进行了测试,你得到的唯一数据是额外的:

KEY: android.intent.extra.SUBJECT
VALUE: "Tweet from Pablisco (@pablisc0)"
KEY: android.intent.extra.TEXT
VALUE: "Pablisco (@pablisc0) tweeted at 11:26 am on Fri, Apr 13, 2012: @metrerovolador guay, por Brighton este finde. Aprovechando el comienzo de la primavera :) http://t.co/ZU2ZzmD8 (https://twitter.com/pablisc0/status/190747704115204096?s=09) Get the official Twitter app at https://twitter.com/download?s=13"
KEY: tweet_id
VALUE: 190747704115204096

您可以使用推特 API 从推特本身获取数据(使用 tweet_id 属性)获取有关如何使用推特的更多信息 API 按照这个 link: https://dev.twitter.com

(超出问题范围以显示如何使用 Twitter API)

终于可以用一点点后门方法来实现了: 我们从应用程序收到的文本意图在 link.

中嵌入了 media_id
  1. 1) 从文本中提取该 ID。
  2. 2) 调用此 api: https://api.twitter.com/1.1/statuses/show.json?id=
  3. 3) 响应将是 JSON。然后遍历到"extended_entities" 在这个 "media" 数组中并遍历它你会发现 "media_url" 这将是实际图像 link。