【问题标题】:can't get facebook profile pic from flask-OAuth package无法从 flask-OAuth 包中获取 facebook 个人资料图片
【发布时间】:2017-11-27 04:12:21
【问题描述】:

我正在使用this 代码登录我的应用程序。它工作正常,但是当我尝试获取个人资料图片的网址时

pic = facebook.get("/me/picture?fields=url")

我没有得到回应。

TypeError: must be string or buffer, not None

如果我尝试使用相同的访问令牌从 facebook Graph API 发送此 GET 请求,我将获得个人资料链接。

我通过打印出 get("/me") 请求检查了版本消息,我得到了

connection: keep-alive
etag: "2c59a2baef08156f18055c64eaa9d9822e35e8f1"
pragma: no-cache
cache-control: private, no-cache, no-store, must-revalidate
date: Fri, 23 Jun 2017 14:20:04 GMT
**facebook-api-version: v2.9**
access-control-allow-origin: *
content-type: text/javascript; charset=UTF-8

当我从 flask-OAuth 发送请求时,这表明版本正在自动转换。那我错过了什么?

【问题讨论】:

  • 如文档所述,默认情况下,此端点返回一个 redirect 到 Facebook CDN 上的用户个人资料图片;如果要返回 JSON,则需要添加它提到的额外参数。 (Graph API Explorer 处理方式不同,并且始终显示 JSON,即使没有参数。)
  • 我必须在哪里添加额外的参数?你能指出文件中提到的地方吗?我试图搜索,但找不到。
  • 我刚刚做到了...正在阅读这篇文章。我在我的查询中输入了 redirect=false 并最终得到了响应。但为什么要投反对票?

标签: python facebook facebook-graph-api oauth flask-oauthlib


【解决方案1】:

如 Graph API 中所述,“我/图片?”将返回 302 重定向到图片图像。要访问有关图片的数据,我们需要在查询末尾包含 redirect=false 。所以我得到了网址;

pic = facebook.get('/me/picture?redirect=false').data
print 'picture:', pic['data']["url"]

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多