2013-03-25 3 views
0

이것은 여기에있는 몇 가지 질문과 비슷하지만 아무 도움이되지 않는 답이 없습니다. 특정 앨범의 사진을 얻기 위해 C#/.Net 응용 프로그램에서 그래프 API를 호출하고 있는데 403 오류가 발생합니다 ... 때때로.Facebook Graph API 403 금단의 오류

제 개발 환경에서는 오류가 발생하지 않았습니다. 또한 한 시간 동안 응답을 캐싱하므로 주어진 시간에 가장 많은 응용 프로그램이 API에 도달하게 될 것이므로 한 번에 20 회 정도가 될 것입니다. 나는 현재 오류를 표시하고 단순히 이미지를 표시하지 않을 때 예외를 삼키고 있지만 장기적인 해결책은 아닙니다.

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

약 1 개월 전에 시작되었지만이 동작을 제안하는 변경 내용 목록에는 아무 것도 표시되지 않았습니다. 모든 통찰력은 인정 될 것이다.

업데이트는

이 응답 스트림에 숨겨져 있었다.

{ "오류": { "메시지", "유형" "(# 4) 응용 프로그램 요청 제한 도달": "OAuthException를", "코드": 4}}

I 내 삶에 대해 내가 몇 번이나 API를 치는 것만으로도 한계를 넘을 수는 없다.

+0

HTTP 403의 콘텐츠에 실제 API 오류가 있는지 확인하십시오. – phwd

+0

감사합니다. 내가 다시 깨기 시작할 때 응답이 더 있는지 알 수 있습니다. 지금은 잘 작동하지만 2 시간 후에는 그렇지 않을 수도 있습니다. – ohiodoug

+0

@phwd 응답이 ... '{ "오류": { "메시지": (# 4) 응용 프로그램 요청 한도에 도달했습니다 ","유형 ":"OAuthException ","코드 ": 4}}' – ohiodoug

답변

2

request_token을 필요로하지 않는 FB 그래프 API 끝점 중 하나에 GET 요청을하면 요청 매개 변수에 포함하지 말아야한다는 것을 의미하지는 않습니다. FB 문서에서 access_token을 포함하지 않으면 FB 서버 측에서 서버 컴퓨터에 등록합니다. 그래서 (어떤 금액이든 정확히) 매우 쉽게 도달 할 수 있습니다. 그러나 사용자 액세스 토큰을 요청 (& access_token = XXXXXX)에 넣으면 특정 사용자에게 등록을 요청하므로 제한에 거의 도달하지 못합니다. 사용자 access_token 사용 여부에 관계없이 1000 개의 요청을하는 간단한 스크립트로 테스트 할 수 있습니다.

참고 : 동일한 문제가 발생하면 FB 앱 액세스 토큰으로 충분하지 않습니다. 요청은 앱 access_token에 등록되어 access_token없이 요청을하게됩니다.

+0

이 문제를 해결 한 것으로 보입니다. –