2011-04-26 3 views
0

내 문제는 내 응용 프로그램에 연결된 사용자의 pic_square 및 pic_big를 얻으려고 할 때 빈 배열이 생깁니다. 이 코드입니다 :페이스 북의 PHP SDK 쿼리가 빈 배열을 반환합니다.

$facebook = new Facebook(array(
     'appId' => FBAPPID, 
     'secret' => FBSECRETNUMBER, 
     'cookie' => true,)); 

$user_info = $facebook->api(array(
     'method'  => 'fql.query', 
     'query'  => "SELECT pic_square, pic_big FROM user WHERE uid = me()", 
     'callback' => '' 
    )); 

로그인 과정에서 내가 같은 코드를 실행하고 나는 오류없이 데이터를 얻을 FB의 그림과 사용자의 사진을 동기화하고하는 기능을 구현하려고 할 때 나중에 작동하지만. 문제가 무엇인지 알 수 있습니까?

고마워요.

답변

1

제 생각 엔 Fetch 쿼리를 호출하기위한 액세스 토큰이 없도록 나중에 페이스 북 세션이 존재하지 않습니다.

어쨌든, 왜 FQL을 사용하여 그 사진을 얻고 있습니까?

http://graph.facebook.com/me/picture?type=large 또는 http://graph.facebook.com/me/picture?type=square

아니면 이미지에 영구적 인 링크를 얻을 수있는 사용자 ID를 사용할 수 있습니다 : 당신은 항상 이런 식으로 그들을 얻을 수

http://graph.facebook.com/USER_ID_HERE/picture?type=square

행운

+0

예 세션에 문제가 있다고 생각합니다. 토큰을 복구 할 수 있습니까? 그리고 예, 당신 말이 맞아요, 당신이 말한대로 사진을 가져야하지만, 그 문제는 몇 가지 있습니다 : 1./me/links를 사용하여 다음 오류가 발생했습니다 : "error": { "type": " OAuthException ", "message ":"현재 사용자에 대한 정보를 쿼리하려면 활성 액세스 토큰을 사용해야합니다. " } 2- 사용자 ID를 사용하면 작동하지만 사진을 저장해야하며 해당 링크로 다른 URL로 리디렉션됩니다. 즉 파일을 저장하는 데 필요한 URL입니다. 어떻게 그 URL을 얻을 수 있습니까? (PHP)? 도와 주셔서 정말로 고맙습니다. – Datenshi

+0

나는 사용자의 그림을 서버에 저장하는 것은 TOS의 페이스 북을 반대한다고 생각한다. 일반적으로 그것을 존중하거나 그것을 명백하게 남용하지 않는 것이 좋습니다. 왜 그것을 저장해야합니까? 과 같은 영구 링크로 사용하지 않는 이유는 무엇입니까? 그렇게하면 사용자가 프로필 사진을 업데이트 할 때마다 변경됩니다. 어쨌든, 다음은 사진을 다운로드하는 방법입니다 : file_put_contents ('test.jpg', file_get_contents ("http://graph.facebook.com/USER_ID/picture ')); 또는 CURL을 사용할 수 있습니다. 행운을 빌어 요. – DannyKK

+0

고마워요, 지금은 모든 것이 작동합니다. 앱을 실행하는 동안 이미지를 저장하지 않아도되지만, 이렇게해야합니다. – Datenshi

관련 문제