![](/img/trans.png)
[英]How do I find the index for the minimum, second to minimum, etc. in a multi-dimensional list in Python?
[英]Python- How do I get a Facebook users friend list, status updates, etc. using Django?
在他們接受所有權限后,如何從facebook用戶取回數據時遇到了麻煩。 現在,我只是想讓我的Django應用登錄(完成),並將他們的朋友列表打印到網頁上,以確保其正常運行。 我嘗試了這些網頁上發布的方法-
http://axiacore.com/blog/how-retrieve-facebook-extra-info-from-django/
如何使用Python-Social-auth和Django檢索Facebook朋友的信息
這是我到目前為止擁有的代碼-
from django.shortcuts import render_to_response, render
from django.template.context import RequestContext
import urllib2
from urllib2 import urlopen
import json
def friendlist(request):
social_user = request.user.social_auth.filter(
provider='facebook',
).first()
goodies = []
if social_user:
#print social_user
url = u'https://graph.facebook.com/{0}/' \
u'friends?fields=id,name,location,picture' \
u'&access_token={1}'.format(
social_user.uid,
social_user.extra_data['access_token'],
)
request = urllib2.Request(url)
friends = json.loads(urllib2.urlopen(request).read()).get('data')
for friend in friends:
goodies.append(friend.get('name'))
return render_to_response('thirdauth/friendlist.html', {'friends': goodies})
def home(request):
context = RequestContext(request,
{'request': request,
'user': request.user})
#print request.user
return render_to_response('thirdauth/home.html',
context_instance=context)
然后,當我打印出好東西時,它根本沒有數據。 我只是想知道我在做什么錯。
我的settings.py文件可能不需要篡改,但這就是我所做的。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'social.apps.django_app.default',
'thirdauth',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
)
AUTHENTICATION_BACKENDS = (
'social.backends.facebook.FacebookOAuth2',
'social.backends.google.GoogleOAuth2',
'social.backends.twitter.TwitterOAuth',
'django.contrib.auth.backends.ModelBackend',
)
SOCIAL_AUTH_FACEBOOK_KEY = '1*************'
SOCIAL_AUTH_FACEBOOK_SECRET = '43************************'
FACEBOOK_EXTENDED_PERMISSIONS = ['email']
SOCIAL_AUTH_FACEBOOK_SCOPE = [
'publish_actions',
'email',
'user_friends',
'user_birthday',
'public_profile',
'user_about_me',
'user_likes',
'user_location',
'user_photos',
'user_posts',
'user_relationships',
'user_status',
'user_tagged_places',
'user_work_history',
]
urls.py看起來像這樣-
from django.conf.urls import patterns, include, url
from django.contrib import admin
from thirdauth import views
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'thirdauth.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'thirdauth.views.home', name='home'),
url('', include('social.apps.django_app.urls', namespace='social')),
url('', include('django.contrib.auth.urls', namespace='auth')),
url('^friends/', views.friendlist, name="friendlist"),
)
非常感謝你的幫助!
Facebook更改了其API(現在僅支持v2,不再支持v1),因此您將無法再通過該API獲取朋友列表。 您唯一可以做的就是獲取使用您的應用程序的用戶列表。 要測試此功能是否正常,請確保兩個用戶都已添加了該應用程序。
如果您仍然需要獲取用戶列表,則可以按照此鏈接上的說明通過導出到Yahoo來做到這一點: http : //iag.me/socialmedia/how-to-transfer-your-facebook-friends-to- Twitter的和其他的網絡-一個更新/
我無法正常工作,但發現了這一點:
http://www.techgainer.com/import-facebook-contacts-gmail-google-contacts/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.