在我的Android应用程序中,我希望用户能够输入Twitter用户名,然后Twitter Twitter应用程序将在输入的用户名页面上启动。 我做了一些研究,发现从另一个应用程序打开Twitter应用程序所需的链接是twitter:// user?user_id = id_num我想知道是否有办法从Android中的Twitter用户名获取用户的Twitter ID,所以我 可以做到这一点。 任何帮助将不胜感激,谢谢。

  • 假设您需要为此访问Twitters服务器(再次完全假设)。

该特定请求具有可根据ID或screen_name搜索的可选字段,并且将返回您可以解析以获取用户ID的匹配项列表。因此,您可以按screen_name搜索并读取响应以获取ID。

您正在寻找的请求是:

1
GET https://api.twitter.com/1/users/lookup.json?screen_name=somename

API示例中提供的响应为(wa):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[
  {
   "name":"Twitter API",
   "profile_sidebar_border_color":"87bc44",
   "profile_background_tile": false,
   "profile_sidebar_fill_color":"e0ff92",
   "location":"San Francisco, CA",
   "profile_image_url":"http://a3.twimg.com/profile_images/689684365/api_normal.png",
   "created_at":"Wed May 23 06:01:13 +0000 2007",
   "profile_link_color":"0000ff",
   "favourites_count": 2,
   "url":"http://apiwiki.twitter.com",
   "contributors_enabled": true,
   "utc_offset": -28800,
   "id": 6253282,
   "profile_use_background_image": true,
   "profile_text_color":"000000",
   "protected": false,
   "followers_count": 160752,
   "lang":"en",
   "verified": true,
   "profile_background_color":"c1dfee",
   "geo_enabled": true,
   "notifications": false,
   "description":"The Real Twitter API. I tweet about API changes, service issues and appily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
   "time_zone":"Pacific Time (US & Canada)",
   "friends_count": 19,
   "statuses_count": 1858,
   "profile_background_image_url":"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
   "status": {
     "coordinates": null,
     "favorited": false,
     "created_at":"Tue Jun 22 16:53:28 +0000 2010",
     "truncated": false,
     "text":"@Demonicpagan possible some part of your signature generation is incorrect & fails for real reasons.. follow up on the list if you suspect",
     "contributors": null,
     "id": 16783999399,
     "geo": null,
     "in_reply_to_user_id": 6339722,
     "place": null,
     "source":"TweetDeck",
     "in_reply_to_screen_name":"Demonicpagan",
     "in_reply_to_status_id": 16781827477
    },
   "screen_name":"twitterapi",
   "following": false
  },
  {
   "name":"Twitter",
   "profile_sidebar_border_color":"EEEEEE",
   "profile_background_tile": false,
   "profile_sidebar_fill_color":"F6F6F6",
   "location":"San Francisco, CA",
   "profile_image_url":"http://a1.twimg.com/profile_images/878669694/twitter_bird_normal.jpg",
   "created_at":"Tue Feb 20 14:35:54 +0000 2007",
   "profile_link_color":"038543",
   "favourites_count": 2,
   "url":"http://twitter.com",
   "contributors_enabled": true,
   "utc_offset": -28800,
   "id": 783214,
   "profile_use_background_image": true,
   "profile_text_color":"333333",
   "protected": false,
   "followers_count": 3305606,
   "lang":"en",
   "verified": true,
   "profile_background_color":"ACDED6",
   "geo_enabled": true,
   "notifications": false,
   "description":"Always wondering what's happening.",
   "time_zone":"Pacific Time (US & Canada)",
   "friends_count": 257,
   "statuses_count": 774,
   "profile_background_image_url":"http://s.twimg.com/a/1276896641/images/themes/theme18/bg.gif",
   "status": {
     "coordinates": null,
     "favorited": false,
     "created_at":"Tue Jun 22 16:40:19 +0000 2010",
     "truncated": false,
     "text":"9 cool things to do with your Twitter account (via @pastemagazine) http://example.com",
     "contributors": [
        16739704
      ],
     "id": 16783169544,
     "geo": null,
     "in_reply_to_user_id": null,
     "place": null,
     "source":"web",
     "in_reply_to_screen_name": null,
     "in_reply_to_status_id": null
    },
   "screen_name":"twitter",
   "following": false
  }
]

因此,您可以通过解析" id"字段的JSON响应来访问结果中的id。

但是请注意,返回的是结果的JSON数组,而不仅仅是一个确定的答案。您将需要自己弄清楚哪个是正确的(也不能保证订购,因此不要以为最有可能进入第一个条目)。

还值得注意的是,即使将其记录为返回" id"和整数值,ids的当前首选用法还是提供" id_str"和整数的字符串表示形式。这是由于各种平台如何处理和限制整数不一致。因此,即使收到" id",您也应该在以后的交互中使用" id_str"。

  • 我收到一个错误:Twitter REST API v1不再处于活动状态。 请迁移到API v1.1。 dev.twitter.com/docs/api/1.1/overview。
  • @YanYang这是对原始问题的回答。 Twitter API的版本和URI均已更改。 我只是更新了URL,因此您可以通过Twitter本身提供的最新规范链接,但是Im不会针对其API版本维护答案,因此将来的读者-如果/当这些URL出现时,developer.twitter.com是文档的根目录 再次改变。