2012-02-20 2 views
2

내 애플리케이션으로 Facebook Realtime API를 구현하려고합니다. 내 '페이 스북 페이지'에서 피드를 가져오고 싶습니다. HTTP 오류 400 : 나는 URL 매개 변수없이 URL을 호출하면 잘못된 요청 하지만, 내가 할 {"data": []}Facebook 실시간 API의 확인 토큰은 무엇입니까

나는 오류,

app_access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'  

url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token 

url_params = {'access_token':app_access_token,'object':'page', 'fields':'feed', 'callback_url':'http://127.0.0.1:8000/fb_notifications/', 'verify_token' : 'I am taking a random string here...'} 

urlResponse = call_url(url, url_params) 

매번 내가 URL 매개 변수를 사용하여 URL을 호출 ... app_access_token 획득 한

url 매개 변수에서 verify_token을 임의의 문자열로 사용하고 callback_url이 facebook 응용 프로그램의 redirect_url 매개 변수와 같지 않습니다 (단지 같은 URL을 여기에 입력해야하는지 알고 싶습니까?)

내가 뭘 잘못하고 있는지 말해줘? python/django를 사용하여 구현하고 있습니다.

+1

-1 :

FB 알림을 처리하는 방법을 알고하지 않으려면 나도 질문 자체도 허용 대답은 질문의 제목과는 아무 상관이. 검색 결과가 유용하지 않은이 질문을 반환합니다. –

답변

2

사용 POST보다는 URL의 쿼리 매개 변수로 전달 빈 몸 & object, fields, callback_urlverify_token로, GET.

https://developers.facebook.com/docs/reference/api/realtime/을 참조하십시오.

+0

내 코드에서 call_url이 POST 호출을합니다 ... 코드 - urlresponse = urllib2.urlopen (url, urll_params), timeout = socket.getdefaulttimeout() .... read() 내가 url_params에서 access_token을 제거한 후 시도했습니다 ... 아직 작동하지 않습니다 .... ( –

+0

귀하의 의견에 따라 답변을 업데이트했습니다 .. –

+0

아니요 ... 아직 작동하지 않습니다 ... 나에게 몇 가지 샘플 코드를 제공해 주시겠습니까? Facebbok 실시간 API에 대한 구독 추가 .... 고마워 ... :) –

2

나는 이것을 알아 냈습니다. . . . . POST 요청은 URL로 확인 :

'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post' 

패스 {} 후 매개 변수로 ..... 이 your_callback_url에 도달해야합니다 있는지 확인합니다. 그것은 (내가 로컬 호스트에 대한 시험을 수 없습니다 ... 나는 그렇게 생각한다.) 로컬 호스트에서 작동하지 않습니다

그래서 파이썬 코드는 다음과 같아야합니다

url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post' 

url_params = {} 

urlResponse = urllib2.urlopen(url, urllib.urlencode(url_params), timeout=socket.getdefaulttimeout()).read() 

urlResponse는 null한다. callback_url 부착

기능 반환해야합니다 :

def callback_function(request): 
    if request.GET: #(Handle this properly!!!) 
     return request.GET.get('hub.challenge') #hub_challenge for PHP Developers. :) 

나를 의심하는 경우에 알려 주시기 바랍니다! 가 친절하게 다음 URL을 참조하십시오 : Handling notifications request from Facebook after successful subscription

+0

내 대답을 받아들이십시오 (자신의 것보다는) - 파이썬이 아니더라도 솔루션을 제공합니다. –

+0

물론 예.. 당신에게 해결책을주었습니다 ... 다시 한번 감사드립니다. :) –

관련 문제