Conteúdo
No trabalho me deparei com uma tarefa interessante de automatizar o Instagram , ou seja, bastava fazer um desenho. Existem serviços suficientes para organizar este empreendimento, existem até gratuitos. Mas havia condições adicionais (leia-se premium), além disso, eu realmente queria ver por mim mesmo o que havia dentro desse instagram popular e talvez ganhar experiência na construção de uma API.
Em primeiro lugar, fui ver o que a Internet estava dizendo. A leitura dos docks oficiais na API do Instagram deixou claro que os proprietários não querem dar acesso à automação ilimitada, é possível automatizar o trabalho com sua conta na versão básica, mas isso não cabia na minha tarefa, e a versão "business" da API exigia verificação da empresa, o que é natural não combina comigo. (Talvez algo já tenha mudado ...)
Então fui ver o que a Internet estava dizendo sobre como trabalhar com a API no site do Instagram. Tudo estava otimista e não era um bom presságio para problemas. Havia até projetos php no github que forneciam APIs para automação até postagem. Artigos sobre Habré falavam sobre a facilidade de automação. Muitas das fontes estavam com o frescor normal (alguns meses, ou mesmo semanas). Contudo …
Autorização
(fiddler + waterfox) instagram . . .
, .
- POST https://www.instagram.com/accounts/login/ajax/ . enc_password - , : ( , ) :
(PWDINSTAGRAMBROWSER)
(10)
(unixtime 1591030811)
unixtime , .
, , . github nodejs. , .
. , instagram . ( ) , . .
, , js. js ( ) … ( ), , .
instagram php, js. ( xhr , fiddler) php . - .
… . 7 - , - ( , ip), ).
nodejs puppeteer . :)
, , ( ) . , ( ) . - . , , , :)
, ( ):
php node.js , node.js , , , .
. . html :

:)
, , . . Instagram API graphql (- rust-full ). .
:
query_hash - :
- d5d763b1e2acf209d62d22d184488e57
- bc3296d1ce80a24b1b6e40b1e72903f5
- c76146de99bb02f6415203be841dd25a
- ff260833edf142911047af6024eb634a
variables - json (urlencode ), , , , :
first - ( 50 50)
after - ffirst. fafter , , ( null)
:

API 20 .
Estou decepcionado com a qualidade da API do instagram na versão web do site, não achei que seria tão medíocre, parece que tudo está torcido ao máximo na geração de dados para autorização , mas aí tudo se abaixa e uma grande brecha de segurança se forma - roubei cookies com cabeçalhos e consegui acesso .
O Instagram me fez suar e experimentar várias emoções ao usar a API, mas o objetivo foi alcançado na íntegra. Autor: Vitaly Buturlin