2010-03-02 1 views
1

Facebooker msg 아카이브, Google 등을 살펴본 결과 두 가지 메시지가 있었는데 기본적으로 "Facebook docs 및 무슨 일이 일어나고 있는지보십시오. " 나는 그랬지만 아직도 무슨 일이 일어나고 있는지 그리고 왜 Facebooker를 사용하여 내 프로필이나 상태 배열을 검색 할 수 없는지 명확하지 않습니다. Facebooker direct API 호출이 "고장났다"고 생각하고 다음으로 동등한 FQL 쿼리를 시도 할 것입니다.Facebooker 내장 데이터 검색 방법 반환 "이 사용자에 대한 정보가 설정되지 않았습니다."오류가 발생했습니다.

나는 Facebooker 사용자 초기화 또는 무언가를 놓치고 있습니까? 나는 출처를 보았고, 내가 만들고있는 전화가 정확히 내가 원하는 것 같다.

내가 얻는 오류는 API_EC_INFO_NO_INFORMATION "이 사용자에 대한 정보가 설정되지 않았습니다"입니다. FB Tool Console을 사용하여 내 프로필을 확인할 때 내 정보가 잘 보입니다. 과 같이, FB 프로파일/상태 정보를 당길 수있는 콩나무 작업을 설정 난 할 노력하고있어

:

sess = Facebooker::Session.create("<key>", "<secret_key>") 

# session_key passed to beanstalk as body payload 
sess.secure_with! job.body 

fbkr_user = Facebooker::User.new(sess.user.id, sess) 

puts fbkr_user.get_profile_info.to_s # info not set error 

# same result if I go through the session, or try to get user.statuses 
puts sess.user.get_profile_info 
puts sess.user.statuses 

ERROR :

[..]/gems/facebooker-1.0.62/lib/facebooker/parser.rb:646:in `process': 
No information has been set for this user (StandardError) 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/parser.rb:36:in `parse' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/service.rb:66:in `post' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/session.rb:638:in `post_without_logging' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/session.rb:649:in `post' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/logging.rb:20:in `log_fb_api' 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/1.8/benchmark.rb:308:in `realtime' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/logging.rb:20:in `log_fb_api' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/session.rb:648:in `post' 
     from /Users/notbrain/.gem/ruby/1.8/gems/facebooker-1.0.62/lib/ 
facebooker/models/user.rb:390:in `get_profile_info' 
     from app/workers/index_fb_user.rb:23 
     from app/workers/index_fb_user.rb:6:in `loop' 
     from app/workers/index_fb_user.rb:6 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `eval' 
     from /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/commands/runner.rb: 
46 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from script/runner:3 

답변

0

것은 내가이 더 힘들어하고 있었다 (와 페이스 북을 잘못 사용하는 것보다). session.user 객체는 사용하기 전에 채워 져야하기 때문에 외부/명시적인 Facebooker::User 객체를 사용할 필요가 없습니다.

파일 : 응용 프로그램/노동자/fb_processor.rb :

beanstalk = Beanstalk::Pool.new([BEANSTALK_HOST]) 
    beanstalk.watch("index-fb-user") 

    loop do 
    begin 
     session_key = job.body 
     sess = Facebooker::Session.create(Facebooker.api_key, Facebooker.secret_key) 
     sess.secure_with! session_key 

     sess.user.populate 
     puts sess.user.inspect 

    rescue 
     puts "Process FB User Failed: #{e.message}" 

    ensure 
     puts "Deleting job!" 
     sess = nil 
     # optional, depends on if job is re-spawned elsewhere if fail 
     job.delete 

    end 
    end