1

这类似于这里的一些问题,但似乎没有一个问题能产生对我有帮助的答案。我从 ac#/.Net 应用程序调用图形 api 来获取特定相册的照片,我收到 403 错误...有时。

我从来没有在我的开发环境中收到过错误,只有在生产中。我还将响应缓存一个小时,因此应用程序在给定小时内访问 API 的次数最多约为 20 次,而不是一次全部。当它出错并且根本不显示图像时,我目前正在吞下异常,但这不是一个长期的解决方案。

var request = WebRequest.Create("https://graph.facebook.com/ALBUM_ID/photos");
var stream = request.GetResponse().GetResponseStream();

大约一个月前才开始发生这种情况,但我在重大更改列表中没有看到任何暗示这种行为的内容。任何见解将不胜感激。

更新

这隐藏在响应流中。

{"error":{"message":"(#4) 达到应用程序请求限制","type":"OAuthException","code":4}}

考虑到我只打了几次 api,我这辈子都看不到如何达到极限。

4

1 回答 1

3

如果您向不需要 access_token 的 FB 图 API 端点之一发出 GET 请求,这并不意味着您不应将其包含在请求参数中。如果您按照 FB 文档中所说的不包含 access_token 进行操作,那么在 FB 服务器端它会注册到您的服务器机器中。因此,可以很容易地达到限制(无论数量是多少)。但是,如果您将用户访问令牌放入请求中(&access_token=XXXXXX),然后请求将注册到特定用户,因此几乎不会达到限制。您可以使用一个简单的脚本来测试它,该脚本在有和没有用户 access_token 的情况下发出 1000 个请求。

注意,FB 应用程序访问令牌是不够的,因为您将面临同样的问题:请求将被注册到应用程序 access_token 中,这种情况类似于在没有 access_token 的情况下发出请求。

于 2013-07-11T08:15:02.203 回答