Python Facebook SDK:获取用户信息';朋友

Python Facebook SDK:获取用户信息';朋友,python,facebook,google-app-engine,facebook-graph-api,Python,Facebook,Google App Engine,Facebook Graph Api,我正在尝试使用Facebook登录扩展AppEngine应用程序示例。我能够让它按原样工作(使用从单独文件添加的我自己的访问令牌),当用户登录时,它会显示这个漂亮的小页面(由此带来): 现在,我想访问有关用户朋友的信息;e、 他们喜欢的电影。首先,我在Facebook开发者的仪表板上为我的基础应用程序添加了过多的权限(例如,friends_likes),然后保存了更改。然后我决定试着展示一个朋友的名字,以及他或她最喜欢的电影。目前,我只是显式地将这些内容存储在用户中,因此修改了example.

我正在尝试使用Facebook登录扩展AppEngine应用程序示例。我能够让它按原样工作(使用从单独文件添加的我自己的访问令牌),当用户登录时,它会显示这个漂亮的小页面(由此带来):

现在,我想访问有关用户朋友的信息;e、 他们喜欢的电影。首先,我在Facebook开发者的仪表板上为我的基础应用程序添加了过多的权限(例如,friends_likes),然后保存了更改。然后我决定试着展示一个朋友的名字,以及他或她最喜欢的电影。目前,我只是显式地将这些内容存储在用户中,因此修改了example.py文件如下(新行以“######################”结尾):

我在example.html文件中添加了几行,以传达新信息:

...

{% if current_user %}
    <p><a href="{{ current_user.profile_url }}">
        <img src="http://graph.facebook.com/{{ current_user.id }}/picture?type=square"/>
    </a></p>
    <p>Hello, {{ current_user.name|escape }}</p>
    <p>You have a friend named {{ current_user.friend_name|escape }}</p>  #################
    <p>Movies your friend likes, probably in some weird format: #################
        {{ current_user.friend_movies }}</p> ##############
{% endif %}

...
。。。
{%if当前用户%}

你好,{{current_user.name | escape}}

您有一个名为{current_user.friend_name | escape}}的朋友

################# 你朋友喜欢的电影,可能是一些奇怪的格式:################# {{current_user.friend_movies}}

############## {%endif%} ...
以我的Facebook账户为例,它有一个朋友名叫“Sey Ian”,现在输出为:

我有两个主要问题:

  • 塞伊·伊恩确实有一些喜欢的电影,为什么不放映呢?我是否需要在代码中执行其他与权限相关的操作?或者我使用错误的语法访问它们(例如,我需要类似于
    friend\u movies=str(fmov[“data”][0][“name”])
    …对于本例中的第一部电影,类似于我如何访问第一个朋友的名字)

  • 在某个时候,我想提取更多关于用户及其朋友的信息。考虑到这一点,有没有什么好的、彻底的Python Facebook SDK图形调用示例?弄明白如何做我现在所做的事情,这是我一生中最重要的部分


  • 您应该看看Firebase身份验证。Firebase身份验证提供了多种用户身份验证选项,包括谷歌、Facebook和Twitter

    ...
    
    {% if current_user %}
        <p><a href="{{ current_user.profile_url }}">
            <img src="http://graph.facebook.com/{{ current_user.id }}/picture?type=square"/>
        </a></p>
        <p>Hello, {{ current_user.name|escape }}</p>
        <p>You have a friend named {{ current_user.friend_name|escape }}</p>  #################
        <p>Movies your friend likes, probably in some weird format: #################
            {{ current_user.friend_movies }}</p> ##############
    {% endif %}
    
    ...