2011-01-30 2 views
0

나는 페이스 북의 FQL 쿼리 할 컬 사용이 일어난FQL에 페이스 북의 curl 쿼리 인증이 필요합니까?

> curl 'https://api.facebook.com/method/fql.query' -d "query=SELECT+now()+FROM+user+WHERE+name='Barry Carter';" 

<?xml version="1.0" encoding="UTF-8"?> 
<error_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd"> 
    <error_code>102</error_code> 
    <error_msg>Session key invalid or no longer valid</error_msg> 
    <request_args list="true"> 
    <arg> 
     <key>method</key> 
     <value>fql.query</value> 
    </arg> 
    <arg> 
     <key>query</key> 
     <value>SELECT now() FROM user WHERE name='Barry Carter';</value> 
    </arg> 
    </request_args> 
</error_response> 

내가 사용자를 찾을도 인증해야합니까? 웹 사이트에서 인증을 수행 할 수 있습니까?

인증이 필요한 경우 어떻게해야합니까? http://developers.facebook.com/docs/authentication을 읽었지만 모두 간단히 말하면 이 필요합니까? 그렇다면 토큰을 인증 받으려면 어떻게해야합니까? 쿠키/etc를 저장해야합니까 (curl의 -b 및 -c 플래그 사용)?

이 질문은 Facebook API - fql_query, Invalid session 과 비슷하지만 PHP가 아닌 직선 컬을 사용하고 있습니다.

나는 쿼리가 POST가 아니라 GET이되어야한다는 것을 알지만 문제는 아닌 것으로 확신한다.

답변

1

예. 수행하는 모든 쿼리에 대해 인증 토큰이 있어야합니다.

실험하는 경우 수동으로 얻는 것이 그리 어렵지 않습니다. 직접 수동으로 수행하는 가장 쉬운 방법은 브라우저의 지정된 URL로 이동하여 링크 한 인증 문서 페이지의 "클라이언트 측 흐름"섹션을 따르고 http://www.facebook.com/connect/login_success.html을 대상 URL로 사용하는 것입니다 (페이스 북의 더미 페이지 일뿐입니다). .com, 그래서 당신을 통해) 보장을 누른 다음 주소 표시 줄에서 액세스 토큰을 잡아.

+0

OK, "https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token"YOUR_URL와 로 설정 같은 것을 http://www.facebook.com/connect/login_success .html? 이 작업을 수행하려면 여전히 YOUR_APP_ID가 필요합니다. – barrycarter

+0

예, 앱 ID가 필요합니다. 하나를 등록하는 것이 어렵지 않습니다. – Yuliy