1
레일즈 앱에서 Facebook 사용자가 부여한 권한을 테스트하려고합니다.레일에서 Facebook 사용자 권한 확인
이것은 내가 권한을 검사 할 때 페이스 북이 반환 것입니다 :
#<HTTParty::Response:0x7f82dc963820 @parsed_response={"data"=>[{"installed"=>1, "status_update"=>1, "photo_upload"=>1, "video_upload"=>1, "offline_access"=>1, "email"=>1, "create_note"=>1, "share_item"=>1, "publish_stream"=>1, "publish_actions"=>1, "user_likes"=>1, "user_about_me"=>1}]}
그래서, 내가 거기 publish_actions
허가를 확인합니다. 이것은 내가 무엇을 시도했다입니다 :
def self.to_facebook(user, chapter, action)
auth = Authorization.find_by_user_id(user)
if self.user_has_granted_publish_actions?(auth)
ret = HTTParty.post('https://graph.facebook.com/' + "#{auth.uid}" + '/bookstore:' + "#{action}" + '?access_token=' + "#{auth.token}" + '&chapter=http://samples.ogp.me/1403776044881')
else
message = URI.escape('Test message')
ret = HTTParty.post('https://graph.facebook.com/' + "#{auth.uid}" + '/feed' + '?access_token=' + "#{auth.token}" + '&message=' + "#{message}")
end
end
def self.user_has_granted_publish_actions?(authorization)
auth = Authorization.find(authorization)
ret = HTTParty.get('https://graph.facebook.com/' + "#{auth.uid}" + '/permissions' + '?access_token=' + "#{auth.token}")
return true if ret.parsed_response['data'].include?('publish_actions') && ret.parsed_response['data']['publish_actions'] == 1
end
나는 메소드가 false를 반환하는 기본 메시지가 게시되고 있다는 것 때문에 문제가이 라인에 아마 생각합니다.
return true if ret.parsed_response['data'].include?('publish_actions') && ret.parsed_response['data']['publish_actions'] == 1
내가 잘못하고있는 것에 대한 의견이 있으십니까?