我正在尝试从推文中提取图像(media_url)。 问题是:当我想在Android应用程序中共享推文时,我唯一拥有的是推文(来自共享意图)。 我没有看到一个API,我们在其中调用tweet并返回图像URL。 有没有办法从Twitter应用程序通过“共享”按钮共享的推文中获取图像网址?
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);
}
答案 0 :(得分:0)
不幸的是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
您可以使用twitter API从Twitter本身获取数据(使用tweet_id
属性)要获取有关如何使用Twitter API的更多信息,请点击以下链接:https://dev.twitter.com
(在问题范围之外,以显示如何使用Twitter API)
答案 1 :(得分:0)
最后可以用一点后门方法来实现这个目的: 我们从应用程序收到的文本意图在链接中嵌入了media_id。