页面访问令牌和用户访问令牌之间有什么区别

时间:2011-03-12 01:37:14

标签: facebook-c#-sdk

我一直在网上试图找出为什么我无法将照片上传到Facebook或墙上的相册。每次我尝试,我都会得到一个OAuthException。我不会在这里重复我的代码,因为我已经在几天前发布了这个代码,我不想一遍又一遍地发布相同的问题。

所以这个问题是关于页面访问令牌和用户访问令牌之间的区别,最重要的是,我是否需要使用一个上传照片到相册?如果是这样我怎么得到一个?

我认为这与我的原始问题有关,因为我在Facebook上发现了这篇文章:http://bugs.developers.facebook.net/show_bug.cgi?id=13531

提前致谢!

2 个答案:

答案 0 :(得分:2)

我将引用Facebook documentation关于这一点,因为这实际上是一个他们不模糊的地方。

要对您的应用进行身份验证,您必须将授权码和应用密码传递到https://graph.facebook.com/oauth/access_token的Graph API令牌端点。应用程序密钥可从开发人员应用程序获得,不应与任何人共享或嵌入您将分发的任何代码中(您应该在这些方案中使用客户端流程)。

https://graph.facebook.com/oauth/access_token? CLIENT_ID = YOUR_APP_ID&安培; REDIRECT_URI = YOUR_URL&安培; client_secret = YOUR_APP_SECRET& code = THE_CODE_FROM_ABOVE如果您的应用程序已成功通过身份验证且用户的授权代码有效,授权服务器将返回访问令牌。

除了访问令牌(access_token参数)之外,响应还包含令牌到期前的秒数(expires参数)。令牌过期后,您需要重新运行上述步骤以生成新代码和access_token,但如果用户已经授权您的应用,则不会再次提示他们这样做。如果您的应用需要具有无限到期时间的访问令牌(可能是在用户未使用您的应用后代表用户执行操作),您可以请求offline_access权限。

答案 1 :(得分:2)

您使用用户访问令牌作为指定用户进行读/写,通常https://graph.facebook.com/oauth/access_token将为您提供用户访问令牌,而对于Page访问令牌则可以使用 https://graph.facebook.com/me/accounts

页面访问令牌用于读/写为页面帐户(将自己模拟为页面)