Не могу понять, какие поля нужно отправить контакту, чтобы он мне вернул фотку. В данный момент мне возвращается ответ, но поле photo - пустое.
1) вконтакте про загрузку фото на стену пользователя
здесь
2) попробовал разные модули для пост запроса (и http.request стандартный в том числе), но пока остановился на -
superagent. Чуть ниже там идет документация по Attaching files.
3) мой кусочек кода
var request = require('superagent');
...
request
.post(url)
.set('Content-Type', 'multipart/form-data')
.set('Content-Length', Buffer.byteLength(dataCL,'utf8'))
.attach('filename',memsPath+img+'.jpg')
.field('photo',img+'.jpg')
.end(callbackSA);
В переменной img - имя файла. В dataCL - длина, но пока не уверен что корректная.
Ответ от вк, примерно следующий:
status 200
'{"mid":10393237,"gid":0,"server":425122,"photo":"","hash":"e65dc1750b1b02ae815bca319b0884be"}'
До этого, когда я пытался делать без OpenAPI ответ был таким же, в случае неправильно приложенного файла, т.е. у формы стояло неправильное имя поля. Потом когда поставил форме правильное, пост запрос стал уходить нормально и в ответ получил уже данные по фото.
В чем может быть мой косяк:
1) неправильный Content-Length. Раскуриваю сейчас как сделать правильный.
2) неправильно передаю данные, которые ожидает вк.
По первому вопросу - могу и нагуглить. А по второму - уже кучу вкладок прочитал. Если кто-то знает, какой необходим набор полей для вк, что он от меня ждет в поле photo? нужен ли еще filename, и т.д.? Подскажите плиз, неважно на каком языке. Главное понять, что именно от меня ждут) но если будет примерчик на node.js - большое спасибо.