2012-03-06 15 views
0

新しいアルバムを作成してユーザーの壁に写真を投稿するなど、初めてのFacebookブックアプリを開発しています。非オブジェクト上のメンバー関数setFileUploadSupport()を呼び出す

facebookのドキュメントやチュートリアルで学ぶことによってこのコードが出てきましたが、私はそれに次のエラーが発生しています。

致命的なエラー:

 $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

ああ、返信ありがとう、私はそれを追加しました。しかし、今私はこの1つの警告とエラーを取得しています。 '警告:Facebook :: __ construct()の引数1がありません。これは、188行目の/home/file.phpで呼び出され、35行目の/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); 

「アプリID」と「アプリの秘密」は、Facebookのアプリケーションの作成時に取得したものに置き換えます。

編集:コードに小さな変更が加えられました。 $ configは、fileUpload(ファイルのアップロードが有効かどうかを示すブール値)と呼ばれる配列の3番目のオプション要素をとります。 setFileUploadSupport()メソッドを呼び出すため、これを設定する必要があります。または、もう一方の方法は、あなたが行ったとおりに書いて、ブール値をsetFileUploadSupport(true)に直接渡すことです。どちらの方法でも動作します。

+0

ありがとう、それは引数の欠落エラーを解決しました。今は新しいエラーが発生しています: '致命的なエラー:未知の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

関連する問題