Thuzi / facebook-node-sdk

Modeled from the (Facebook Javascript SDK), now with the facebook-node-sdk you can now easily write the same code and share between your server (nodejs) and the client (Facebook Javascript SDK).
Other
737 stars 250 forks source link

Does uploading image is working ? #54

Open mcbjam opened 10 years ago

mcbjam commented 10 years ago

Does this call is working ?

     FB.api(pageid + '/photos', 'post', { message: body, source: buff, }, function (resf) {
                    if (!resf || resf.error) {
                        console.log(!resf ? 'error occurred' : resf.error);
                        return;
                    }
                    console.log( resf);
                    res.send(resf);
                });

Does the oauth with fileuplad is working ?

 FB.api('oauth/access_token', {
    client_id: clientid,
    client_secret: clientsecret,
    redirect_uri: redirecturi,
    code: code,
    scope: scope,
    fileUpload : true,
    }
abhishekdgeek commented 9 years ago

function postPhotoToPage (pageID) { var url = "http://www.w3schools.com/images/w3logotest2.png"; var textmsg = "Image Description"; var msg = { "url": url, "access_token": page_access_token, "message": textmsg, "from":page_id, "published": true, }; FB.api( "/"+pageID+"/photos", "POST", msg, function (response) { if (response && !response.error) { console.log(response.id); console.log(response.post_id); console.log(page_access_token); } else console.log(response.error); } ); }

This function works fine with FB JS SDK. May I know the syntax for same in node? I mean how do I send more parameters other than message in Node.JS SDK?

mcbjam commented 9 years ago

Hi. The question was about upload a local Photo. ( So there are no URL).

I wrote this function :

  var request = require('request');
  module.exports.postImage = function (options, cb) {
  var fburl = 'https://graph.facebook.com/'+ options.pageid+ '/photos?access_token=' +      options.token_page;
 var requete = request.post(fburl, function (err, res, body) {
  if (err) {
      console.error('Upload failed:', err);
      cb(err, null);  
 } else {
     console.log('Server Respond with:', body);
     result = JSON.parse(body);
     if (result.post_id)
        cb(null, result.post_id); 
     else
         cb(result.error, null);        
  }
 });
 var form = requete.form();
 form.append('source', fs.createReadStream(options.file));
 form.append('message', options.message);
 }
dantman commented 8 years ago

1.1.0-alpha1 now accepts Buffers, ReadStreams, or an object containing { value: [Buffer/ReadStream], options: { ... } } as param values for file uploads.