0

grails facebook-sdk 플러그인을 사용하여 페이스 북에 연결하고 게시합니다. 이 잘 작동Grails를 사용하여 Facebook 벽에 이미지를 게시하는 방법

def publishMessageResponse = facebookClient.publish("me/feed", [message:"RestFB test"]) 

하지만 사용자의 특정 앨범에 이미지를 게시 할 :

사용자의 벽에 메시지를 게시하려면 내가 사용합니다. 설명서는 다음과 함께 작동해야한다고 말합니다.

def publishPhotoResponse = facebookClient.publishFile("me/photos", [message, "Test cat"], "/cat.png") 

그러나 "파일을 찾을 수 없음"오류가 발생합니다. 내가 가지고있는 이미지는 데이터베이스에 저장되며 URL을 이미지로 가져 와서 검색 할 수 있습니다.

이미지의 URL을 알면 어떻게이 이미지를 특정 사용자의 사진 앨범에 게시 할 수 있습니까? 새 앨범을 만들려면 어떻게해야합니까?

답변

0

저는 facebook-sdk를 사용하지 않았지만 프로젝트 위치와 관련하여 '/cat.png'파일을 찾을 수 없다고 생각합니다. 유효하고 액세스 가능한 파일 경로를 제공해야합니다.

다음

파일에 URL을 변환의 예입니다

당신은

assert new File("/cat.png").exists(), "File does not exist!" 

UPDATE ... publishFile 전에이 같은 일을하면이를 확인할 수 있습니다. 실제 파일을 사용하는 것 외의 다른 옵션이있는 경우 이것이 이상적인 솔루션이 아닐 수도 있습니다.

def someUrl = "http://www.google.com/images/logo.gif"; 
    def file = File.createTempFile("facebookUpload",".temp").withOutputStream { out -> 
     out << new URL(someUrl).openStream() 
    } 

    file.deleteOnExit(); 
    def publishPhotoResponse = facebookClient.publishFile("me/photos", [message, "Test cat"], file) 
+0

다음과 같은 이미지가있는 URL이 있습니다. http://www.mydomain.com/234234 브라우저에 입력하면 이미지가 표시됩니다. 하지만 어떻게 to를 File로 변환하면 publish() 메서드가 그것을 받아 들일 수 있습니까? – confile

+0

답변을 업데이트했습니다. 다시 말하지만, 나는 fb-sdk로 작업하지 않았으며 이것은 테스트되지 않은 코드입니다. –

+0

이것은 실제로 내 문제를 해결하지 않습니다. Grails의 사용자 페이스 북 벽과 사용자 앨범에 이미지를 게시하려면 어떻게해야합니까? – confile

관련 문제