Pergunta

Olhando para http://instagram.com/developer/authentication/ - A forma de comunicação recomendada é no servidor.

Eu entendo como faço o passo 1 e o passo 2.Mas na etapa 3 eles querem que eu POST dados diretamente no servidor?(Eu entendo como eu poderia fazer uma solicitação de postagem do jQuery) Mas é possível fazer diretamente do PHP/CodeIgniter?

Esta é basicamente a etapa 3:

Na etapa anterior, você receberá um código que precisará trocar para receber um access_token para o usuário.Para fazer essa troca, você simplesmente precisa postar esse código, juntamente com alguns parâmetros de identificação do aplicativo para o nosso Access_Token EndPoint.

Eu tenho todas essas informações:(da resposta do Instagram)

client_id: your client id
client_secret: your client secret
grant_type: authorization_code is currently the only supported value
redirect_uri: the redirect_uri you used in the authorization request. Note: this has to be the same value as in the authorization request.
code: the exact code you received during the authorization step.
Foi útil?

Solução

Um backend pode fazer um POST assim como o navegador.Grande parte da Internet é uma comunicação servidor a servidor dessa maneira.

Aqui está um exemplo de solicitação POST em PHP (usando Curl)

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.example.com/site.html");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "postvar1=value1&postvar2=value2");

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec ($ch);

curl_close ($ch);

Uma maneira alternativa de definir os parâmetros POST em vez de criar manualmente a sequência de parâmetros:

curl_setopt($ch, CURLOPT_POSTFIELDS, 
         http_build_query(array('postvar1' => 'value1')));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top