0

私はInstagramの写真を扱うWebサイトに取り組んでいます。

確認のために、ユーザーを Instagram のログイン ページに誘導する必要があります。このプロセスでは、承認のために、Web サイトが URL でいくつかのパラメーターを送信する必要があります。フォーマットを以下に示します。

インスタグラムのドキュメントから -

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

GET リクエストを使用して Instagram の URL にアクセスすると、問題なく動作します。しかし今、これらの値を URL から非表示にして、ユーザーから非表示にしたいと考えています。

そこで、windows.onload でフォーム パラメータを非表示として送信し、代わりに Instagram URL にアクセスする JSF ページを作成することにしました。このようにして、パラメータを非表示にすることができます。

JSFページ

<h:body>

        <h:form  prependId="false">
            <h:inputHidden id="client_id" value="#{applicationBean.instagramClientID}" /><br/>
            <h:inputHidden id="redirect_uri" value="#{applicationBean.instagramRedirectUrl}" /><br/>
            <h:inputHidden id="response_type" value="code" />
        </h:form>

        <script type="text/javascript">
            window.onload = function submitPage() {
                document.forms[0].action="#{applicationBean.instagramAuthUrl}";
                document.forms[0].submit();
            }
        </script>
    </h:body>

しかし、これは instagram 側から失敗し、コード エラー 400 が発生します。

{"code": 400, "error_type": "OAuthException", "error_message": "You must include a valid client_id, response_type, and redirect_uri parameters"}

値を確認しましたが、すべて問題ないようです。私が気付いた唯一のことは、「フォーム ID」も渡されていることです。特定のパラメーターのみを送信する必要があるため、これが認証の失敗を引き起こしていると思います。true の場合、POST リクエストを使用してこれを克服するにはどうすればよいですか?

または、POST リクエストで何か間違ったことをしていますか?

前もって感謝します。

環境: Java 1.6、JSF 2

4

1 に答える 1

-1

ハードコーディングされた値を渡して結果を投稿してみてください。

于 2012-10-27T15:34:48.780 に答える