У меня возникли проблемы с подключением приложений к приложениям с помощью Parse.Использование Facebook для мобильного хостинга API с парсером Cloud Code для ссылок на приложения
Поскольку мое приложение является мобильным, я только хотел использовать API для мобильного хостинга Facebook. И так как вам нужно отправить свой Facebook App Secret с просьбой, которую я хотел сделать с помощью кода облака разбора.
Все я coud найти в документации на Facebook было то, как сделать это с Скручивание
curl https://graph.facebook.com/app/app_link_hosts \
-F access_token="APP_ACCESS_TOKEN" \
-F name="iOS App Link Object Example" \
-F ios=' [
{
"url" : "sharesample://story/1234",
"app_store_id" : 12345,
"app_name" : "ShareSample",
}, ]' \
-F web=' {
"should_fallback" : false, }'
так это то, что я придумал в облаке кода
Parse.Cloud.httpRequest({
method: 'POST',
url: 'https://graph.facebook.com/app/app_link_hosts',
headers: {
'Content-Type': 'multipart/form-data'
},
body: {
access_token : "APP_ACCESS_TOKEN",
name : "iOS App Link Object Example",
ios : '[{"url" : "sharesample://story/1234","app_store_id" : 12345,"app_name" : "ShareSample",},]',
web : '{"should_fallback" : false,}'
}
ответ я получаю : Запрос не выполнен с кодом ответа 400
Теперь я просто прочитал, что данные multipart/form не поддерживаются с помощью Parse.Cloud.httpRequest , так есть ли другой способ сделай это?
обновление: только что узнал, что вы можете отправить многокомпонентные данные с буфером, , так что это мой код в настоящее время
var Buffer = require('buffer').Buffer;
var access_token = new Buffer('APP_ACCESS_TOKEN','utf8');
var name = new Buffer('iOS App Link Object Example','utf8');
var ios = new Buffer('[{"url" : "sharesample://story/1234","app_store_id" : 12345,"app_name" : "ShareSample",},]','utf8');
var web = new Buffer('{"should_fallback" : false,}','utf8');
var contentBuffer = Buffer.concat([access_token, name, ios, web]);
Parse.Cloud.httpRequest({
url: 'https://graph.facebook.com/app/app_link_hosts',
method: 'POST',
headers: {
'Content-Type': 'text/html; charset=utf-8'
},
body: contentBuffer
}
однако я все еще получаю тот же результат :(
Update2: есть он работает с типом контента application/x-www-form-urlencoded и нормальным телом. Но я думаю, что ошибка была где-то в моих параметрах, так как я тестировал ее с завиванием и получил тот же ответ