2015-10-02 17 views
11

私はエンドユーザーが中小企業のオーナーであるシステムに取り組んでいます。この機能の目標は、他の人が自分の事業所にタグ付けされたインスタントグラムに投稿する写真を(リアルタイムで)取得することです。これは、ビジネスアカウントで@タグ付けされた写真とは異なります(つまり、this feedではなくthis feedが必要です)。お客様にリアルタイムのInstagramロケーション通知を取得するにはどうすればよいですか?

hereに記載されているリアルタイムのサブスクリプションシステムの使用を計画していました。場所IDを購読し、その場所の新しいメディアに関する通知を受け取ることができることを説明しているからです。我々はそれをロールアウトし、即座に失敗し始めました。なぜなら、30回のサブスクリプションの未公開の制限があるからです(私たちは、それを構築する前にもっと多くのグーグルをやっていたはずです)。

これは基本的にhere概説同じ問題ですが、その会話は本当に古くなっていると私は提案されたソリューションは、私を助けにはなりませんので、最終的な目標は、完全に同じであるか分かりません。

十分な定期購読を得るために多くのアプリケーションを登録するには、あまりにも多くの顧客アカウントがあります(何千ものアプリケーションを登録する必要があります)。私たちは、Oauth2のワークフローで取得したInstagramユーザーのアクセストークンを使用して、より多くのサブスクリプションを作成できることを期待していました。私は、他の人が、場所のサブスクリプションの代わりに大きな地理的領域のサブスクリプションを使用したことを知っていますが、これは私たちのためにも十分に拡張できません。

ので、私はイライラして、この問題で困惑している:他のアプリケーションが30のサブスクリプションの限界に収まらないスケールでリアルタイムにこれらの写真を取得しているようだ

  1. 多くのユースケースがアプリケーションごとに30のサブスクリプションであったとは想像もできません。

回避策はありますか?アプリケーションの資格情報の代わりにInstagramのユーザー資格情報を使用する方法はありますか?私は場所のフィードを定期的にポーリングし、私のリアルタイムの願望を捨てなければならないでしょうか?ご質問

答えて

0

回答:

web-APIは、いくつかの回避策のためにあります:すべてのあなたのlinksを更新し、データベースに解析されたデータを書き込むcronジョブ。プラス:必要がないAPI applications。マイナス:ウェブAPIの変更(リクエストやレスポンス)。

また、すべてのクライアントのアプリケーションを自動的に登録し、DBに追加し、リアルタイム更新を購読することもできます。そして更新を入手してください。

access-token代わりのCLIENT-IDCLIENT-SECRETを使用する方法がありません。その1分の更新が十分である:

ジャスト(You should build your system to accept multiple update objects per payloadドキュメントから)(などのシステムのバランスをとる)"Real-time" photo updatesが本当にreal-timeではないことを、覚えておいてください。

UPD

たぶん、多分あなたはすでにスピードアップするために、このグレーの方法を知って、助けます。

直接リンクを使用して、場所によってメディアを取得することができますweb-API。それは最も簡単です。 XHR requestを生成するには、クッキーからcsrftokenが必要です。 Csrftokenが不正なユーザーからのものである可能性があります。 request詳細はGoogle ChromeのNetworkタブにあります。

簡単な例(例ではその値を説明するためのURLデコードされた)パラメータqhttps://instagram.com/query/refからPOSTクエリ:

q=ig_location(237630908){media.after(20000000000000000000000,2){nodes{id,display_src,thumbnail_src}}}&ref=locations::show 

Content-typeapplication/x-www-form-urlencoded; charset=UTF-8であるべきです。

XHR requestためのWebヘッダ:

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 
Accept: */* 
Accept-Language: en-US;q=0.6,en;q=0.4 
Referer: https://instagram.com/explore/locations/237630908/ 
Origin: https://instagram.com 
X-Instagram-AJAX: 1 
X-Requested-With: XMLHttpRequest 
X-CSRFToken: e4e1e1eddd67b2b50b6d8ae7b49e01c0 
Cookie: csrftoken=e4e1e1eddd67b2b50b6d8ae7b49e01c0 
Content-type: application/x-www-form-urlencoded; charset=UTF-8 

(ヘッダの例ではcsrftokenがランダム化され、それを使用しないでください)

があまりにも頻繁に使用しないでください、Instagramのはいつか、いくつかのWeb機能を無効にしますIPで、変更を試してくださいcsrftoken

そして答えは:答えCnapoBため

{ 
    status: "ok", 
    media: { 
     nodes: [ 
     { 
      thumbnail_src: "https://scontent-frt3-1.cdninstagram.com/hphotos-xaf1/t51.2885-15/s640x640/sh0.08/e35/c0.135.1080.1080/12142408_1499221190404489_557984803_n.jpg", 
      id: "1104470761628620590", 
      display_src: "https://scontent-frt3-1.cdninstagram.com/hphotos-xaf1/t51.2885-15/e35/12142408_1499221190404489_557984803_n.jpg" 
     }, 
     { 
      thumbnail_src: "https://scontent-frt3-1.cdninstagram.com/hphotos-xaf1/t51.2885-15/s640x640/sh0.08/e35/c0.135.1080.1080/12139611_1663826773904632_2063764196_n.jpg", 
      id: "1102282973026047789", 
      display_src: "https://scontent-frt3-1.cdninstagram.com/hphotos-xaf1/t51.2885-15/e35/12139611_1663826773904632_2063764196_n.jpg" 
     } 
     ] 
    } 
} 
+0

感謝。私たちはすでにcronジョブのルートを行っていますが、これはリアルタイムに近いところがないため残念です。私たちは各ユーザーにクライアントアプリケーションを登録することを考えましたが、何万ものアプリケーションを使用する必要がありました。 Instagramが私たちにそれをさせてくれるとは想像できません。そして、たとえ彼らがそれをしたとしても、私はそれを自動的に行うためにキャプチャを回避しなければならないように見える。再度、感謝します。 –

+0

ようこそ。答えのUPDを見てください、それは助けになるかもしれません。 – CnapoB

+0

@TonyBathgate私は言及を忘れてしまった。ごめんなさい。答えのUPDを見てください、それは助けになるかもしれません。 – CnapoB

関連する問題