
Como fazer uma solicitação de upload de um arquivo para o Facebook usando API gráfica em curl
Estou fazendo esta solicitação, mas recebo o erro:
curl https://graph.facebook.com/<id>/photos -F "[email protected]" -d "message=Me" -v
ERRAR:
Apenas uma solicitação HTTP pode ser selecionada
Responder1
Você não pode usar -F
e -d
juntos, pois eles usam tipos de conteúdo diferentes e você precisa de arquivos multipart/form-data
. Então tente com:
https://graph.facebook.com/<id>/photos -F "[email protected]" -F "message=Me" -v
De man curl
:
-F/--forma
(HTTP) Isso permite que o curl emule um formulário preenchido no qual um usuário pressionou o botão enviar. Isso causa curl nos dados POST usando o Content-Typemultipart/form-datade acordo com RFC2388. Isto permite o upload de arquivos binários, etc. Para forçar a parte do 'conteúdo' a ser um arquivo, prefixe o nome do arquivo com um sinal @. Para obter apenas a parte do conteúdo de um arquivo, prefixe o nome do arquivo com o símbolo <. A diferença entre @ e < é que @ faz com que um arquivo seja anexado na postagem como um upload de arquivo, enquanto < cria um campo de texto e apenas obtém o conteúdo desse campo de texto de um arquivo.