параметры загрузки фотографий в facebook в node.js

Я создаю сайт с nodejs и mongodb и использую facebook для аутентификации. Моим пользователям потребуется загрузить определенную фотографию, и другие смогут их просматривать.

Поскольку я использую facebook, мне интересно, следует ли разрешить пользователям загружать свои фотографии в свой профиль facebook, и я буду сохранять ссылки в базе данных, чтобы позже другие пользователи могли их просматривать.

Это правильный подход? или должен ли я использовать flickr, picasa или что-то еще?

Я должен сделать это в javascript, и я знаю, что Facebook поддерживает это.

Пожалуйста, дайте мне знать, что вы думаете.

РЕДАКТИРОВАТЬ:

Hi,

Наконец я нашел модуль connect-form для загрузки файла на сервер, а затем загрузки файла на facebook с помощью модуля facebook-js. Я обнаружил, что fb.api для «/me/feed» отлично работает на сервере node.js. Но когда я попытался использовать API графика для «/me/photos», как указано в http://developers.facebook.com/docs/reference/api/album/, я получил ошибку. Это потому, что он ожидает, что источник будет в "multipart/form-data". В моем html это уже "multipart/form-data", иначе я не получу файл на стороне сервера. Однако на стороне сервера я не очень уверен, как встроить это в FB.api... каким должен быть параметр «источник» в FB.api «/me/photos»? Я попробовал это с «source:files.source», как указано в моем примере. Но это не работает. может я что-то очень глупое упускаю...

app.post('/', function(req, res, next){

  req.form.complete(function(err, fields, files){
    if (err) {
      next(err);
    } else {

      fb.apiCall('POST', '/me/photos',
        {access_token: fields.access_token, message: fields.message, source:files.source},
        function (error, response, body) {
            if (error) {
                console.log('Error in facebook Photo UPLOAD', error);
                return;
            }
          console.log('facebook RESPONSE :', response);
          console.log('facebook BODY :', body);
          res.redirect('back');
          //res.render('done', {body: body});
        }
      );

    }
  });

person user644745    schedule 13.09.2011    source источник
comment
Очевидно, вы можете использовать Facebook для этой цели. P.S.: я не думаю, что вы можете загружать фотографии с помощью Javascript.   -  person ifaour    schedule 13.09.2011
comment
ну, я имею в виду это - webdevhub.net/facebook-api/picture -upload-facebook-api и похоже, что это возможно.   -  person user644745    schedule 13.09.2011
comment
Здесь вы напрямую отправляете конечную точку Facebook! Пример, описанный в статье, НЕ рекомендуется использовать, поскольку он оттолкнет посетителей от вашего веб-сайта/приложения!   -  person ifaour    schedule 13.09.2011
comment
ты прав. на самом деле, я только что понял, что это неправильный подход... не могли бы вы предложить что-то лучше? или это решит мою проблему, если я использую ajax submit?   -  person user644745    schedule 13.09.2011
comment
поскольку я использую socket.io в node.js, я, безусловно, могу отправить эту информацию на сервер и обработать ее там. Пожалуйста, предложите, есть ли лучший подход.   -  person user644745    schedule 13.09.2011


Ответы (1)


У вас есть возможность загрузить фотографии на Facebook, используя URL-адрес, прочитайте следующую статью:
https://developers.facebook.com/blog/post/526/

Я предлагаю использовать некоторые CDN для фотографий, такие как Amazon S3, которые очень надежны и масштабируемы. Затем вы можете опционально иметь его и на Facebook с помощью простого вызова API (в этом случае не забывайте о расширенных разрешениях на загрузку фотографий).

надеюсь это поможет

person Anatoly Lubarsky    schedule 13.09.2011