페이스 북 API를 테스트하기위한 간단한 프로토 타입에 sinatra/frankie/facebooker를 사용하고 있습니다. mmangino-facebooker를 github의 최신 버전과 복제했습니다. 프랭키의 최신 버전. 나는 sinatra 0.9.6을 사용하고있다.Ruby/sinatra/frankie/facebooker를 사용하여 페이스 북에서 인증 문제
내 주요 코드는 가능한 한 간단하지만 난 항상 오류가
before do
ensure_application_is_installed_by_facebook_user
@user = session[:facebook_session].user
@photos = session[:facebook_session].get_photos(nil,@user.uid,nil)
end
get "/" do
erb :index
end
get "/:uid/:image" do |uid,image|
@photo_selected = session[:facebook_session].get_photos([image.to_i],nil,nil)
erb :selected
end
은 인덱스 페이지가 단지 (": UID/이미지 /"정규식에 의해 확인 된) 다른 하나에 대한 링크를 렌더링 이 정규식에 의해 식별 된 하나의 렌더링하려고 "/ : UID/: 이미지"
Facebooker::Session::MissingOrInvalidParameter: Invalid parameter
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/parser.rb:610:in `process'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/parser.rb:30:in `parse'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/service.rb:67:in `post'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/session.rb:600:in `post_without_logging'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/session.rb:611:in `post'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/logging.rb:20:in `log_fb_api'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/logging.rb:20:in `log_fb_api'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/session.rb:610:in `post'
/Library/Ruby/Gems/1.8/gems/mmangino-facebooker-1.0.50/lib/facebooker/session.rb:198:in `secure!'
./config/frankie/lib/frankie.rb:66:in `secure_with_token!'
./config/frankie/lib/frankie.rb:44:in `set_facebook_session'
./config/frankie/lib/frankie.rb:164:in `ensure_authenticated_to_facebook'
./config/frankie/lib/frankie.rb:169:in `ensure_application_is_installed_by_facebook_user'
나는 내가 추측 인증 토큰과 관련이있을 것으로 보인다 이유를 모른다 ..
I을했습니다 없다 요청을 기록했다. fb 나머지 서버를 찾으십시오 :
{:sig=>"4f244d1f510498f4efaae3c03d036a85", :generate_session_secret=>"0", :method=>"facebook.auth.getSession", :auth_token=>"9dae0d02c19c680b574c78d202b0582a", :api_key=>"70c14732815ace0ae71a561ea5eb38b7", :v=>"1.0"}
{:call_id=>"1269003766.05665", :sig=>"194469457d1424dc8ba0678979692363", :method=>"facebook.photos.get", :subj_id=>750401957, :session_key=>"2.lXL0z3s4_r573xzQwAiA9A__.3600.1269010800-750401957", :api_key=>"70c14732815ace0ae71a561ea5eb38b7", :v=>"1.0"}
{:sig=>"4f244d1f510498f4efaae3c03d036a85", :generate_session_secret=>"0", :method=>"facebook.auth.getSession", :auth_token=>"9dae0d02c19c680b574c78d202b0582a", :api_key=>"70c14732815ace0ae71a561ea5eb38b7", :v=>"1.0"}
마지막으로 오류가 발생합니다. 첫 번째와 세 번째에 동일한 값을 갖는 auth_token과 관련 될 수 있습니까? 이 게시물을 사용할 필요가 있도록
환호와 TKS, '제 마리아 당신이있는 iFrame을 사용하는 경우 분명히
frankie.rb의 set_facebook_session을 auth_token 대신 facebook_params를 사용하여 먼저 인증하도록 변경 한 것이므로 session_set = session_already_secured입니까? || secure_with_token! || secure_with_facebook_params! 가되었습니다. #session_set = session_already_secured? || secure_with_facebook_params! || secure_with_token! 그리고 request_is_for_a_facebook_canvas가 아닌 한 #return 줄을 주석으로써? secure_with_facebook_params의 ! – user361526