2014-06-17 6 views
0

주어진 페이스 북 해시 태그로 이미지를 검색하고 데이터베이스 (게시물, 해시 태그 및 이미지 포함)에 데이터를 저장하는 애플리케이션을 만들어야합니다.해시 태그로 페이스 북 검색에서 모든 공공 이미지 (게시물)를 검색하는 방법은 무엇입니까?

이것이 가능합니까? 어디서부터 시작해야할지 모르겠습니다. 이것을 위해 omniauth가 필요한가, 공개되어 있다면, 그것 없이도 작동한다.

처리 작업은 브라우저가 아닌 레이크 작업에서 실행해야합니다.

+0

불가능합니다. – WizKid

답변

0

아마도 Facebook Graph API을 사용하고 싶을 것입니다. Koala이라는 보석이 있습니다. FQL 쿼리를 사용하여 피드를 필터링 할 수 있습니다.

require 'koala' 

oauth_access_token = '...' 

tag = 'yolo' 

query = <<-FQL 
    SELECT pid 
    FROM photo 
    WHERE pid IN (
    SELECT pid 
    FROM photo_tag 
    WHERE text='#{tag}' 
) 
FQL 

api = Koala::Facebook::API.new(oauth_access_token) 

api.batch do |batch_api| 
    batch_api.fql_query(query).each do |photo| 
    picture = api.get_picture(photo['pid']) 
    # do something with picture 
    end 
end 

oauth_access_token을 얻는 방법에 대한 자세한 내용은 Koala docs를 참조 쿼리에 대한 자세한 내용은 FQL Reference : 여기에 일부 조정이 필요할 수 있습니다, 일부 검증되지 않은 루비 코드입니다.

+0

FQL 쿼리에 인덱싱 가능한 열이 필요하며 photo_tag 테이블에서 "public"을 검색하는 방법을 찾을 수 없다는 주된 문제점이 있습니다. "AND subject = me()"를 내부 쿼리에 넣으면 내 사진이 표시되지만 예를 들어 "subject! = me()"가 작동하지 않습니다. 어떤 생각? – fishy