2013-03-17 48 views
1

在我的Django項目中,我需要通過使用Facebook API獲取photostream中的所有照片?,現在我使用的API如https://graph.facebook.com/10151509108346729/photos/?access_token=「68051_10151509108346729_1731694342」。但我只獲取了共享照片。如何使用API​​在我的Facebook帳戶中獲取所有photos_stream照片?

+0

我猜你爲了得到私人照片做認證,OAuth的工作與FB。你使用的是什麼API包裝? – PepperoniPizza 2013-03-18 00:06:59

回答

2

使用此代碼

facebook_images=[] 
      user = request.user 
      details = UserSocialAuth.objects.filter(user=request.user,provider='facebook').order_by('-id')[0] 
      uid = details.uid 
      access_token = details.extra_data['access_token'] 
      url = "https://graph.facebook.com/%s/albums?fields=id&access_token=%s" % (uid,access_token) 
      url = str(url) 
      data = json.load(urllib.urlopen(url)) 
      album_ids = [] 
      if data.has_key('data'): 
       for x in data['data']: 
        album_ids.append(x['id']) 
      for album_id in album_ids: 
       url="https://graph.facebook.com/%s/photos?access_token=%s" %(album_id,access_token) 
       photos_response = json.load(urllib.urlopen(url)) 
       data = photos_response['data'] 
       photo_urls = [] 
       for x in data: 
        facebook_images.append(x['source']) 
      request.session['facebook_images']=facebook_images 
      if request.session['print_type'] == 'photobook': 
       return HttpResponseRedirect(reverse('photobook_photo_selection')) 
      elif request.session['print_type'] == 'canvas': 
       return HttpResponseRedirect(reverse('canvas_photo_selection')) 
      else: 
       return redirect('photo_selection') 
相關問題