2013-09-23 49 views
0

* *当我发送类似的请求 -如何从谷歌获取数据使用python中的api键?

f = urllib.urlopen(https://www.googleapis.com/plus/v1/people/103777531434977807649/activities/public?key=***************) 
json=f.read() 
print json 

它返回一些这样的事不是必需的JSON

{ 
"kind": "plus#activityFeed", 
"etag": "\"seVFOlIgH91k2i-GrbizYfaw_AM/chWYjTdvKRLG9yxkeAfrCrofGHk\"", 
"nextPageToken": "CAIQ__________9_IAAoAA", 
"title": "Google+ List of Activities for Collection PUBLIC", 
"items": [] 
} 

我有什么做的就是正确的反应? ??

这是代码: 进口JSON

f = urllib.urlopen('https://www.googleapis.com/plus/v1/people/'+id+'/activities /public?key=*****************&maxResults=100')    
    s = f.read()        
    f.close()    
    ss=json.loads(s) 
      print ss 
      try:   
     nextpagetoken=str(ss['nextPageToken']) 
     i=0 
     str_current_datetime=str(datetime.now()) 
     gp_crawldate=str_current_datetime.split(" ")[0] 
     gp_groupid=id 
     db = MySQLdb.connect("localhost","root","****","googleplus") 
     cursor=db.cursor() 

     while i<len(ss['items']): 

      gp_kind=str(ss['items'][i]['kind']) 
      gp_title=str(ss['items'][i]['title'].encode('utf8')) 
      gp_published=str(ss['items'][i]['published'][0:10]) 
          check=int(cool(str(ss['items'][i]['published'][0:19])))#this method is defined in the code 
      gp_activityid=str(ss['items'][i]['id']) 
      gp_actorid=str(ss['items'][i]['actor']['id']) 
      gp_verb=str(ss['items'][i]['verb']) 
      gp_objecttype=str(ss['items'][i]['object']['objectType']) 
      gp_originalcontent=str(ss['items'][i]['object']['content'].encode('utf8')) 
      gp_totalreplies=str(ss['items'][i]['object']['replies']['totalItems']) 
      gp_totalplusone=str(ss['items'][i]['object']['plusoners']['totalItems']) 
      gp_totalreshare=str(ss['items'][i]['object']['resharers']['totalItems']) 
      #gp_geocode=str(ss['items'][i]['geocode']) 
      #gp_placename=str(ss['items'][i]['placeName']) 
      i=i+1 

是在克+ API的任何变化???

+0

'import json' ...然后使用'page = f.read()'和'json_data = json.loads(page)'或类似的...它不会自动发生......您可能希望看看'请求'模块,这使得访问HTTP资源可能更好 –

+0

你刚刚告诉我已经完成的事情。但它返回相同的响应。当我通过浏览器发送http请求相同的json调用 –

+0

在这种情况下,你会考虑把你正在使用的代码(你已经完成),并把它作为一个[编辑]你的问题 –

回答

1

您发布的回复是正确回复。如果items字段是空列表,那么您提取帖子的用户可能从未公开发布任何内容。在这种情况下,我确认用户没有公开信息,只需访问他们的个人资料。

相关问题