1

FQL? Q = SELECT FRIEND_COUNT을 제공 WHERE UID = 'ID'FQL 쿼리 FRIEND_COUNT에 대한 작동이 중지되었습니다 및 사용자의 오류를

나는 친구의 수를 얻기를 위해 위의 FQL 쿼리를 사용했다. 그것은 꽤 오랫동안 저를 위해 일해 왔습니다. [자바 스크립트 SDK]

그러나 지금은 다음과 같은 오류 메시지를 제공,

가 { "오류": { "메시지". "(# 604) 귀하의 문이 인덱싱되지이다 절이 있어야합니다 . ":"OAuthException "}}

내가 그것을이 쿼리를 복사하고 그래프 API를 탐색기 도구에 붙여 넣기 및 시도 교환 형 열은 이러한 열은" "유형 http://developers.facebook.com/docs/reference/fql 링크 된 테이블의 * 표시되어 있습니다 완벽하게 잘 작동합니다.

user에 대한 FQL 참조를 확인했으며 uid는 여전히 색인 가능 열입니다.

변경 사항을 확인하기 위해 블로그를 확인했지만 fql과 관련된 언급이 없습니다. 이것이 더 이상 작동하지 않는 이유는 무엇입니까? 그리고 다른 방법이 작동하도록?

+0

이것은 FQL을 사용하는 적절한 방법처럼 보인다! http://www.fbrell.com/fb.api/everyone-data. 알지 못해서 부끄러운 줄 알고 .. – BST

답변

4

액세스 토큰이 잘못되었거나 쿼리에 숫자 사용자 ID 값이 따옴표로 묶여있을 수 있습니다.

https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid=me()

{ "데이터"[ { "FRIEND_COUNT"NNNN } ] }

https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me())

{ "데이터"[ { 를 " friend_count ": 421 }, { "FRIEND_COUNT"219 } { "FRIEND_COUNT"59 } { "FRIEND_COUNT"239 } { "FRIEND_COUNT"235 } { "FRIEND_COUNT"986 } 코드에 근거하여

은 아래 링크를 공유

편집, 여기에 적절하게 인코딩 된 FQL URL을 얻을 수있는 방법입니다.

var q = 'fql?q=' + escape('SELECT friend_count FROM user WHERE uid=100001516911824'); 
FB.api(q, Log.info.bind('fql callback')); 
+0

대답 주셔서 감사합니다. 실제로 자바 스크립트 SDK를 사용하고 있기 때문에 액세스 토큰을 명시 적으로 관리하지 않습니다. 그리고 sdk가 자동으로 액세스 토큰을 관리하지 않습니까? 어쨌든 인증 토큰에 대해 더 자세히 살펴 보겠습니다. – BST

+0

getLoginStatus()를 사용하여 인증 토큰을 검사했으며 응답은 유효한 인증 토큰과 연결 상태를 제공합니다. 나는 또한 따옴표를 사용하지 않고있다 :-) 사실이 코드 조각은 불과 몇 주 전에 작동했다. 놀랍게도 Graph API Explorer를 사용하면 여전히 작동하며 Javascript SDK의 문제점을 궁금해 할 것입니다. 웹 서버에 https를 사용하도록 설정 했는데도 아무 것도 시도하지 않았습니까? 최악의 경우 https://graph.facebook.com/fql에서 응답을 받기 위해 코드를 다시 작성해야합니다. – BST

+1

어떤 브라우저를 사용하고 계십니까? (Chrome, IE, Safari에는 개발자 도구가 내장되어 있고 Firefox에는 FireBug 플러그인이 있습니다.) 네트워크 트래픽을 모니터링하여 FB JS SDK가 보내는 정확한 호출과 API의 정확한 응답을 확인할 수 있습니다. 어쩌면 당신의 대답이 거기있을 것입니다. :) – DMCS

0
var query = string.Format("SELECT friend_count FROM user WHERE uid=me()"); 
      dynamic parameters = new ExpandoObject(); 
      parameters.q = query; 

      object data2 = fbClient.Get("/fql", parameters); 
관련 문제