コンテンツ
職場で、Instagramを自動化するという興味深い タスクに出くわしました。つまり、図面を保持するだけで済みました。このベンチャーを組織するのに十分なサービスがあり、無料のものもあります。しかし、追加の(プレミアムを読む)条件がありました。さらに、この人気のあるInstagramの内部に何があるのかを自分で確認し、APIの構築の経験を積むことを本当に望んでいました。
まず、インターネットが何を言っているのか見に行きました。instagram APIの公式ドックを読むと、所有者が無制限の自動化へのアクセスを許可したくないことが明らかになりました。基本バージョンでアカウントを使用して作業を自動化できますが、これは私のタスクに適合しませんでした。APIの「ビジネス」バージョンでは、会社の確認が必要でした。これは当然のことです。それは私には合いません。(たぶん何かがすでに変わっています...)
次に、InstagramのWebサイトでAPIの操作についてインターネットが何を言っているかを見に行きました。すべてがバラ色で、問題の前兆にはなりませんでした。投稿まで自動化するためのAPIを提供するphpプロジェクトもgithubにありました。Habréに関する記事では、自動化のしやすさについて説明しています。泉の多くは通常の鮮度でした(数ヶ月、あるいは数週間)。しかしながら …
承認
(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 .
ウェブ版のサイトのinstagramAPIの品質に 失望しています。それほど平凡だとは思いませんでした。承認用のデータを生成する際にすべてが最大限にねじれているようです が、すべてが低下し、大きなセキュリティホールが形成されます。ヘッダー付きのCookieを 盗んでアクセスしました。
InstagramはAPIを使って汗を流し、さまざまな感情を体験させてくれましたが、目標は完全に達成されました。著者:Vitaly Buturlin