Facebook의 Send API를 사용하는 봇을 구현하고 있습니다. documentation에 따르면 요청을 사용하여 파일을 보낼 수 있습니다. 이 문서는 URL에 파일을 보내고 다른 하나는 파일을 업로드하는 두 가지 방법을 제공합니다. 구현에 대해 아무 것도 생각하지 않으려는 오픈 소스 라이브러리이므로 파일을 업로드하고 URL을 제공하고 싶지 않습니다.npm의 요청을 사용하여 파일을 업로드하지 않고 Facebook Send API로 파일을 보내려면 어떻게해야합니까?
파일을 직접 업로드하고 싶습니다. 파일을 업로드하는 문서는 예를 들어 cURL
을 사용하여 다음과 같이 보입니다 :이 프로그램을 실행할 때 내가받은 다음
facebook_message.access_token = configuration.access_token;
var fileReaderStream = fs.createReadStream('./sampleData.json')
var formData = {
"recipient": JSON.stringify({
"id":message.channel
}),
"attachment": JSON.stringify({
"type":"file",
"payload":{}
}),
"filedata": fileReaderStream
}
request({
"method": 'POST',
"json": true,
"formData": formData,
"uri": 'https://graph.facebook.com/v2.6/me/messages?access_token=' + configuration.access_token
},
function(err, res, body) {
//***
});
:
curl \
-F recipient='{"id":"USER_ID"}' \
-F message='{"attachment":{"type":"file", "payload":{}}}' \
-F [email protected]/tmp/receipt.pdf \
"https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
나의 현재 테이크는이 같은 모양해야한다는 것입니다 응답 : 공식 예제 응용 프로그램은 URL을 통해 파일 업로드하는 기능을
{
message: '(#100) Must send either message or state',
type: 'OAuthException',
code: 100,
error_subcode: 2018015,
fbtrace_id: '***'
}
당신이 질문에 매우 중요한 뭔가를 놓친 것으로 : 정확히 작동하지 않는 무엇입니까? 당신이 그것을 디버깅 했습니까? 콜백에있는 정보는 무엇입니까? 그것은 불리는가? "이것은 내 해결책이지만 작동하지 않습니다"는 stackoverflow에 대해 너무 광범위합니다. – luschn
지금 추가 중입니다. 고맙습니다. –