dtn913117 2015-05-26 23:28
浏览 56
已采纳

解析来自James Mallison twitter库的JSON响应

I am using the Twitter Search API 1.1 to search followers_count

I have managed to get the Oauth working with the help of James Mallison at http://github.com/j7mbo/twitter-api-php.

Here my code :

require_once('TwitterAPIExchange.php');

$settings = array(
'oauth_access_token' => "xxx",
'oauth_access_token_secret' => "yyy",
'consumer_key' => "zzz",
'consumer_secret' => "vvv"
);

$url = 'https://api.twitter.com/1.1/users/lookup.json';
$getfield = '?screen_name=twitterapi';
$requestMethod = 'GET';

$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();


$response = json_decode($twitter, true);
$ed = $response->followers_count;

Here the answer :

[{"id":6253282,"id_str":"6253282","name":"Twitter API","screen_name":"twitterapi","location":"San Francisco, CA","description":"The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.","url":"http:\/\/t.co\/78pYTvWfJd","entities":{"url":{"urls":[{"url":"http:\/\/t.co\/78pYTvWfJd","expanded_url":"http:\/\/dev.twitter.com","display_url":"dev.twitter.com","indices":[0,22]}]},"description":{"urls":[]}},"protected":false,"followers_count":3402865,"friends_count":48,"listed_count":12958,"created_at":"Wed May 23 06:01:13 +0000 2007","favourites_count":27,"utc_offset":-25200,"time_zone":"Pacific Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":3535,"lang":"en","status":{"created_at":"Thu May 21 21:12:42 +0000 2015","id":601495856353783808,"id_str":"601495856353783808","text":"RT @TwitterDev: We are excited to announce that the REST API now supports native video upload. https:\/\/t.co\/cWUrgjh8wz http:\/\/t.co\/yaenTQE9\u2026","source":"\u003ca href=\"http:\/\/twitter.com\" rel=\"nofollow\"\u003eTwitter Web Client\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweeted_status":{"created_at":"Thu May 21 20:57:40 +0000 2015","id":601492072953151488,"id_str":"601492072953151488","text":"We are excited to announce that the REST API now supports native video upload. https:\/\/t.co\/cWUrgjh8wz http:\/\/t.co\/yaenTQE95N","source":"\u003ca href=\"http:\/\/jonbulava.com\" rel=\"nofollow\"\u003eJon's Developer Testing App\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":160,"favorite_count":189,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[{"url":"https:\/\/t.co\/cWUrgjh8wz","expanded_url":"https:\/\/blog.twitter.com\/2015\/rest-api-now-supports-native-video-upload","display_url":"blog.twitter.com\/2015\/rest-api-\u2026","indices":[79,102]}],"media":[{"id":601491637433475073,"id_str":"601491637433475073","indices":[103,125],"media_url":"http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/601491637433475073\/pu\/img\/XJcHkzdOR2YRMQSC.jpg","media_url_https":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/601491637433475073\/pu\/img\/XJcHkzdOR2YRMQSC.jpg","url":"http:\/\/t.co\/yaenTQE95N","display_url":"pic.twitter.com\/yaenTQE95N","expanded_url":"http:\/\/twitter.com\/TwitterDev\/status\/601492072953151488\/video\/1","type":"photo","sizes":{"thumb":{"w":150,"h":150,"resize":"crop"},"small":{"w":340,"h":191,"resize":"fit"},"large":{"w":640,"h":360,"resize":"fit"},"medium":{"w":600,"h":337,"resize":"fit"}}}]},"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"retweet_count":160,"favorite_count":0,"entities":{"hashtags":[],"symbols":[],"user_mentions":[{"screen_name":"TwitterDev","name":"TwitterDev","id":2244994945,"id_str":"2244994945","indices":[3,14]}],"urls":[{"url":"https:\/\/t.co\/cWUrgjh8wz","expanded_url":"https:\/\/blog.twitter.com\/2015\/rest-api-now-supports-native-video-upload","display_url":"blog.twitter.com\/2015\/rest-api-\u2026","indices":[95,118]}],"media":[{"id":601491637433475073,"id_str":"601491637433475073","indices":[119,140],"media_url":"http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/601491637433475073\/pu\/img\/XJcHkzdOR2YRMQSC.jpg","media_url_https":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/601491637433475073\/pu\/img\/XJcHkzdOR2YRMQSC.jpg","url":"http:\/\/t.co\/yaenTQE95N","display_url":"pic.twitter.com\/yaenTQE95N","expanded_url":"http:\/\/twitter.com\/TwitterDev\/status\/601492072953151488\/video\/1","type":"photo","sizes":{"thumb":{"w":150,"h":150,"resize":"crop"},"small":{"w":340,"h":191,"resize":"fit"},"large":{"w":640,"h":360,"resize":"fit"},"medium":{"w":600,"h":337,"resize":"fit"}},"source_status_id":601492072953151488,"source_status_id_str":"601492072953151488","source_user_id":2244994945,"source_user_id_str":"2244994945"}]},"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"C0DEED","profile_background_image_url":"http:\/\/pbs.twimg.com\/profile_background_images\/656927849\/miyt9dpjz77sc0w3d4vj.png","profile_background_image_url_https":"https:\/\/pbs.twimg.com\/profile_background_images\/656927849\/miyt9dpjz77sc0w3d4vj.png","profile_background_tile":true,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/2284174872\/7df3h38zabcvjylnyfe3_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/2284174872\/7df3h38zabcvjylnyfe3_normal.png","profile_banner_url":"https:\/\/pbs.twimg.com\/profile_banners\/6253282\/1431474710","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"default_profile":false,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false}]

Warning: json_decode() expects parameter 1 to be string, object given in ...

I don't kwnow why i can't use json_decode

Any feedback or ideas on how to reach followers_count correctly would be much appreciated.

Cheers

  • 写回答

1条回答 默认 最新

  • douna5529 2015-05-26 23:36
    关注

    What you need to do is:

    $jsonResponse = $twitter->setGetfield($getfield)
    ->buildOauth($url, $requestMethod)
    ->performRequest();
    
    $data = json_decode($jsonResponse, true);
    $ed = $data[0]['followers_count'];
    

    Here json_decode documentation.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示