2012-03-11 1 views
2

페이스 북에서 캔버스 웹 응용 프로그램으로 구성된 웹 응용 프로그램을 가지고 있으며 웹 서버에서 모바일 전용 페이지가 제공되는 모바일 URL을 제공합니다. 지난 3 개월 동안 애플리케이션이 실행되었으며 지난 주부터 시작되었습니다. (내 생각에 지난 주에 문제가 시작된 것으로보고 지난 3 개월 동안 앱을 배포하지 않았습니다.) 내 안드로이드 폰에서 애플리케이션에 액세스 할 때, 안드로이드 페이스 북 응용 프로그램, 페이스 북은 아래의 오류를 throw합니다페이스 북의 모바일 웹 애플리케이션이 API를 던지기 시작했습니다. 오류 코드 : 196

API 오류 코드 : 196 API 오류 설명 : 모바일 장치의 데스크탑 웹 캔버스 URL로 리디렉션 할 수 없습니다. 오류 메시지 : redirect_uri는이 응용 프로그램에서 소유하고 있지 않습니다.

리디렉션 URL을 모바일로 보내면 요청이 웹 서버로 전송되는 것을 볼 수 있습니다. 위의 오류가 발생합니다.

코드가 변경되지 않았으므로이 새로운 오류에 대해 다소 혼란 스럽습니다.이 API 오류 번호로 인터넷 검색을 한 결과 지난 주이 오류에 대해 언급 한 일본어 웹 사이트를 제외한 모든 조회수가 반환되지 않았습니다. 어떤 해결책도 보이지 않습니다.

오류 메시지 "데스크톱 웹 캔버스로 리디렉션 할 수 없습니다 ..."는 일종의 설명이 가능한 것 같습니다.하지만 FB가 변경되지 않는 한 무엇이 잘못 되었나요? 새로운 문제를 소개하거나 내 응용 프로그램 구성에서 기존 문제를 노출 한 코드.

답변

1

나는 같은 문제가 있었고, 나는 이것을 "redirect_uri"param으로 설정하지 않았다.

http://apps.facebook.com/[your 응용 프로그램 이름 공간]

는 "redirect_uri로"할 PARAM 같은 아시다시피

$url = $facebook->getLoginUrl(array(
    'scope' => 'xxxx, xxxx, xxxx', 
    'display' => 'touch' 
)); 

, 우리가 넣을 수 있습니다 "캔버스 페이지 URL"값 전에는, 그러나 나는 param의 spec이 지난 주 중반에 바뀌 었다고 생각합니다. 동일한 오류가 발생했습니다. 'API 오류 코드 : 196'입니다.

내 페이지를 방문하십시오. http://nobish.jp/facebook/app-install-api-error-code-196.html

+0

응답 주셔서 감사합니다. 변경해야 할 것이 무엇인지 파악할 수 없습니다. 리다이렉션을 수행하는 곳의 서블릿 필터가 있습니다. 리디렉션 URL은 지난주 , 리디렉션 URL을 구성하는 새로운 올바른 방법은 무엇일까요? –

+0

누군가가 stackoverflow에 URL을 URL로 붙여 넣지 않고 URL로 변환하지 않는다는 것을 알고 있지만 위의 방법으로 시도했지만 URL로 변환되어 대부분이 표시되지 않습니다. –

+0

죄송합니다. PHP로 내 앱을 만들었습니다. RestFB로 빌드 하시겠습니까? – ohtsuki2843

3

1 일을 잃어 버렸고, 2 개의 일본어 블로그를 읽으려고했습니다. 내 길을 알아 냈습니다!

앱 설정에서 모바일 앱에 동일한 URL을 입력하지 마세요.

예 :

정상 캔버스 또는 웹 사이트 URL : https://www.stackoverflow.com/

(자동 https://www.stackoverflow.com/index.php로 이동합니다)

모바일 URL : https://www.stackoverflow.com/mobile/

(자동으로 https://www.stackoverflow.com/mobile/index.php)

다음으로 호스팅 루트 폴더에 "모바일"폴더를 만드십시오.

이제 모바일 폴더의 유일한 차이는 리디렉션 URI입니다.

페이스 북에서 제안하는 URL 리디렉션을 사용하고 있습니다.

https://developers.facebook.com/docs/reference/dialogs/oauth/

긴급 : 당신의 리디렉션 URI 캔버스 주소하지만 웹 서버 주소가 아닌 확인!

잘못된 리디렉션 URI : https://apps.facebook.com/mobile/yourappname/

올바른 리디렉션 URI : https://yourwebsite.com/mobile/

이 페이스 북이이 임시 모바일 웹 사이트의 생각하게됩니다! 모든 것이 예상대로 작동합니다!

+0

당신은 내 하루를 구했습니다! 당신이 그들을 입력 할 때 Facebook은 정말로이 동일한 URL에 대해 경고해야합니다. –