2

APIを使用してInstagramですべての写真を取得するPHPアプリを作成しています。しかし、私が困惑しているのは、ホストされたサーバーでアプリを実行すると完全に正常に動作し、ローカルで実行されている同じアプリが動作しないことです。

アプリのワークフローに関するいくつかのポイントを次に示します。

  1. ユーザーはホームページを見て、「Instagram でサインイン」を求められます。
  2. ユーザーは Instagram でサインインし、アプリを承認します。
  3. Instagram がユーザーをリダイレクトします。
  4. その後、アプリは access_token のリクエストを行い、それを受け取ります。
  5. access_token を使用して、アプリはユーザー メディアのさらなる要求を送信します
  6. 応答が解析され、画像へのリンクがユーザーに提供されます。

上記のすべてのプロセスは、ホストされているサーバーでは正常に機能しますが、「ステップ 3」で失敗します。ユーザーをアプリのホームページにリダイレクトします。

問題は、localhost が redirect_uri であることです。アプリをローカルで使用するためにこの問題を解決できる人はいますか?

PS: Instagram に 2 つの別々のクライアントを登録しました。1 つはローカルでホストされた開発用で、もう 1 つは Web サーバー上です。

また、ローカルトンネルを試しました。どちらも助けにはなりませんでした。

4

2 に答える 2

1

NodeJS/Express を使用して Instagram アプリを開発しようとして、この問題に対処していました。

ローカルホストではなく、コンピューターの外部ローカル IP を使用することで、これを回避しgrepました。私はあなたが *nix マシンを使用していると仮定しているので、非常に単純な (そして大雑把な) ことを行ってください。

$ ifconfig | grep inet

これにより、いくつかの IP アドレスと MAC アドレスが返されます。そのうちの 1 つは外部 IP です。ただし、IP を切り替えるたびに、アプリケーションの redirect_url を Instagram で更新し、それに依存するコードを更新する必要があるため、これはお粗末です。

ありがたいことに、基本的に無料の DDNS サービスを提供するno-ip のようなサービスが存在するため、ホスト名を登録し、それを DEV env コードと開発クライアントのリダイレクト URL にドロップするだけで、設定は完了です。トーゴ!

于 2012-12-25T07:35:48.593 に答える