FB_QUERY
deve ser citado:
curl -F access_token=$FB_TOKEN -F query="$FB_QUERY" https://api.facebook.com/method/fql.query
Estou fazendo algumas coisas com o Facebook FQL no momento, e estou usando curl
na linha de comando para testar algumas das respostas dele. Eu também estou usando export
para manter os parâmetros separados para edição fácil. Mas estou fazendo algo errado e não consigo ver o que acontece.
Isso produz um resultado perfeitamente bom (mesmo com a exportação):
export FB_TOKEN="the_access_token"
curl -F access_token=$FB_TOKEN -F query="SELECT first_name FROM user WHERE uid=12345678910123" https://api.facebook.com/method/fql.query
Mas isso estraga:
export FB_TOKEN="the_access_token"
export FB_QUERY="SELECT first_name FROM user WHERE uid=12345678910123"
curl -F access_token=$FB_TOKEN -F query=$FB_QUERY https://api.facebook.com/method/fql.query
e produz a seguinte saída:
curl: (6) Couldn't resolve host 'first_name'
curl: (6) Couldn't resolve host 'FROM'
curl: (6) Couldn't resolve host 'user'
curl: (6) Couldn't resolve host 'WHERE'
curl: (6) Couldn't resolve host 'uid=100001273321556'
<?xml version="1.0" encoding="UTF-8"?>
(...further response that the request was invalid here...)
Eu não vejo nada que eu tenha esquecido de escapar. Por que o curl
insiste em interpretá-los como hosts?
Versões de software usadas:
onda 7,21,3; bash 4.2.8 (1)