开发者

Is there a way to get a tweet's favorite count?

I couldn't find 开发者_JAVA百科how to do this through the API documentation.


There is an undocumented way to get this information if you're authenticated.

https://api.twitter.com/i/statuses/[tweet.id]/activity/summary.json

An even larger list of API endpoints that are undocumented can be found in the Ruby Twitter library https://github.com/sferik/twitter/blob/master/lib/twitter/client.rb


The New API V1.1 Now supports the tweet favorite's count. Here try it out

stdClass Object
        (
            [created_at] => Thu Apr 04 20:09:16 +0000 2013
            [id] => 319904523520983041
            [id_str] => 319904523520983041
            [text] => North Koreas perspective of the world in the next 5 years http://t.co/MxRgD00VCY
            [source] => web
            [truncated] => 
            [in_reply_to_status_id] => 
            [in_reply_to_status_id_str] => 
            [in_reply_to_user_id] => 
            [in_reply_to_user_id_str] => 
            [in_reply_to_screen_name] => 
            [geo] => 
            [coordinates] => 
            [place] => 
            [contributors] => 
            [retweet_count] => 7
            [favorite_count] => 7
            [entities] => stdClass Object
                (
                    [hashtags] => Array

Upgrade and start Using it.


It is now possible to do this via the statuses/show/:id endpoint. (It requires authentication.)

Example:

GET https://api.twitter.com/1.1/statuses/show.json?id=210462857140252672 

or

GET https://api.twitter.com/1.1/statuses/show/210462857140252672.json

The returned JSON will have a favorite count member.

Note that while the example response in the linked documentation says "favourites_count", the actual returned JSON property is called "favorite_count".

Edit: I've just noticed that the documented "favourites_count" property is inside the user member of the response (it tells you how many tweets have the user favorited in total). The "favorite_count" property, which tells you how many times the tweet was favorited, is in the root of the returned JSON object, and it seems like it's undocumented.

(This endpoint also returns retweet_count and much more.)


Sorry, there's no official way to get this at the present time. All you can tell is if the tweet has been favorited by the authenticated user. There is a favorites_count in the object graph, however this applies to the user that tweeted the tweet, not the tweet itself.

EDIT: Jun. 19, '12 - See mmrobins's answer for links to some of Twitter's undocumented API methods. As always, be careful when using undocumented endpoints since they can change without notice.


The official answer to your question is here https://dev.twitter.com/docs/faq#6898. It suggests to count them real time as the functionality is not supported


As workaround we can scrap page with tweet https://twitter.com/USERNAME/status/TWEET_ID

and use this regex to extract favorited count

(?<=^|>)[^><]+?(?=</strong> Favorites|$)

or use deprecated api

http://api.twitter.com/1/statuses/show/308910231910490112.json


official doc says

How do I count favorites?

The number of times a tweet was favorited is now available as part of tweet objects in the REST, Streaming, and Search APIs -- you'll find it presented in the "favorite_count" field.

Additionally, User streams and Site streams both stream events when an authenticated user favorites tweets or has their tweets favorited. Using these authenticated streaming APIs, you can count favorites in real-time as they happen.

But please note, that

Site Streams is currently in a limited beta. Access is restricted to whitelisted accounts.

And sorry for emotions, but it's in beta more than two years.

So you cannot..

Is there a way to get a tweet's favorite count?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜