2012-03-06 2 views
0

새 앨범을 만들고 사용자 벽에 사진을 게시하는 등 내 첫 번째 Facebook 앱을 개발하고 있습니다.비 객체에서 setFileUploadSupport()를 호출합니다.

페이 스북 설명서 및 몇 가지 자습서를 통해 학습하고이 코드를 작성했지만 다음 오류가 발생합니다.

치명적인 오류 :

 $facebook -> setFileUploadSupport(true); 
     $album_details = array('message' => 'Album desc', 'name' => 'Album name'); 
     $create_album = $facebook -> api('/me/albums', 'post', $album_details); 
     $album_uid = $create_album['id']; 

     $photo_details = array('message' => 'Photo message'); 
     $file = 'app.jpg'; 
     $photo_details['image'] = '@' . realpath($file); 

     $upload_photo = $facebook -> api('/' . $album_uid . '/photos', 'post', $photo_details); 

는 친절이 좀 도와 ... 비 객체의 멤버 함수 setFileUploadSupport()를 호출합니다. 감사합니다

답변

1

파일 업로드 지원으로 클래스를 인스턴스화하고 올바른 권한을 요청해야합니다.

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
    'fileUpload' => true // enable file upload support 
)); 

// get a login url with the correct perms 
$facebook->getLoginUrl(array(
    'scope' => 'photo_upload,first_name,email,publish_stream,read_stream' 
)); 

photo_upload는 사진을 업로드 할 수있는 주요 허가입니다.

1

변수 ($ facebook)를 객체 클래스로 인스턴스화 했습니까?

예 :

include('class.Facebook.php'); 
$facebook = new Facebook(); 
+0

오, 답장을 보내 주셔서 감사합니다. 방금 추가했습니다. 하지만 지금은 경고와 오류가 발생합니다. 경고 : Facebook :: __ construct()에 대한 인수 1이 누락되었습니다. 188 행의 /home/file.php에서 호출되고 358 행의 /home/facebook.php에 정의되어 있습니다. '치명적인 오류 : Uncaught CurlException : 6 : 호스트 'graph.facebook.com'/home/base_facebook.php 886 행에 던졌습니다. – Maven

1

당신은 당신이 먼저 새 객체를 생성하여 클래스를 인스턴스화해야합니다. 또한 $ config 배열을 전달해야합니다. 생성자가 '1 개의 인수가 누락되었습니다'. 그것은 당신이 받고있는 오류입니다.

// Create facebook object. 
$config = array(
'appId' => 'app id', 
'secret' => 'app secret', 
'fileUpload' => true 
); 

// Initiate the library 
$facebook = new Facebook($config); 

'app id'및 'app secret'을 Facebook 응용 프로그램을 만들 때 얻은 정보로 바꿉니다.

편집 : 코드에 약간의 변경이 추가되었습니다. $ config는 fileUpload (파일 업로드가 활성화되었는지 여부를 나타내는 부울 값)라는 배열의 세 번째 선택적 요소를 사용합니다. setFileUploadSupport() 메서드를 호출하기 때문에이 값을 설정해야합니다. 또는 다른 방법은 당신이했던 것처럼 작성하고 setFileUploadSupport (true)에서 부울 값을 직접 전달하는 것입니다. 어느 쪽이든 작동합니다.

+0

감사합니다. 하지만 지금은 새로운 오류가 발생했습니다 : ie : '치명적인 오류 : 잡히지 않은 OAuthException : 잘못된 OAuth 액세스 토큰 서명. /home/base_facebook.php 라인 1106에서' – Maven

+0

이 허가와 관련된 경우, 내 auth url에 스트림 게시 권한이 포함됩니다. '$ auth_url = "http://www.facebook.com/dialog/oauth? client_id = ". $ app_id. "& redirect_uri =". urlencode ($ canvas_page). "& scope = first_name, email, publish_stream, read_stream"; ' 다음과 같은 추가 권한이 필요합니까? – Maven

+0

인증 문제가 있습니다. SIR이 제안한 것을 시도해보십시오. http://stackoverflow.com/questions/6787173/facebook-access-token-problem – mousesports

관련 문제