在不登录的情况下使用 facebook API 获取用户照片

Get user photos using facebook API without logging in

我的要求是使用 facebook API 显示用户照片。我可以成功地做到这一点。但问题是,如果用户没有登录,我就无法检索他们的照片。客户端不希望用户在每次显示他们的照片时都登录。这可能吗?

我想出的一个解决方案是在 developers.facebook.com 生成一个访问令牌,但这个解决方案的问题是用户在生成访问令牌之前应该先了解 facebook API他们不想要这个。我的客户想要的是让用户在应用程序中登录一次。之后,每次他们访问应用程序时检索他们的照片。我怎样才能做到这一点?谢谢!!

为了获取用户照片(无论它们是否 public),您必须向该特定用户授予 user_photos 权限。您可以存储 User Token 以备将来调用,也可以将 User Token 的有效期延长 60 天。没有永远有效的用户令牌。

关于代币的更多信息:

顺便说一句,这是一个很好的登录过程,如果这是问题所在:http://www.devils-heaven.com/facebook-javascript-sdk-login/

一般如何登录在文档中也有很好的解释:https://developers.facebook.com/docs/facebook-login/

谢谢大家的回答。我终于设法解决了这个问题。正如 luschn 所讨论的,正确的工作流程应该是: 1. 使用脸书登入 API 2. 使用生成的应用程序 ID 和访问令牌,调用 facebook API 以使用此 URL:

扩展访问令牌
https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 
  1. 这将 return 新的长寿命 facebook API 访问令牌。

谢谢!