質問: ### 前提・実現したいこと どうぞ宜しくお願い致します。 以下サービス「ネクストエンジン」のAPIを利用し、 自分のサイト内のデータをGoogle apps script で取得しスプレッドシートへ書き出したいと考えております。 https://next-engine.net/ そもそもの質問で大変申し訳ありません。 上記の開発者向けマニュアルを確認していると、 以下のAPIでID情報を取得する必要があるとのことです。 https://developer.next-engine.com/api/api_v1_sign_in 具体的な流れは以下のようです。 1上記APIへアクセスし、ログイン画面が表示される。 2自分のID・PWを入れ認証する。 3予め登録したRedirect uriへ飛ばされ、uid・state情報が渡される。 この為、以下サイトのコードを参考にさせて頂き、 以下サイトのコード内エントリーポイントのURLを上記のAPIに置き換えてみました。 また、client_Idの箇所をネクストエンジンで払い出されていたIDへ置き換えました。 https://qiita.com/soundTricker/items/b4df3072088fcbd0e36d 上記の結果、認証用のURLはGASのURLにアクセスした際に表示されたのですが、 認証ボタンを押してもログイン画面が表示されませんでした。 そこで、cliend_Idをサイトのコードに戻した結果、 ログイン画面は正しく表示がされました。 しかし、認証後はネクストエンジンのサイト側でアプリが見つからないと表示されてしまいます。 (cliendIDをGASのIDで送信している為、見つからないものと認識しています。) 以下質問になるのですが、 1 GASで他サービスのAPIを利用する際に、 WEB画面上でID・PWを求められる場合は、上記参考にしたサイトのOauth2認証の仕組みを活用することは間違えていないでしょうか。 2 GASで上記の通りWEBで認証した後、ネクストエンジンのサイト側でリダイレクト処理がされ、 再度GASのURLにGETが送信されてくるのですが、これをGASで受け取る為には、doGetで受け取るであっておりますでしょうか。 3 上記の通りclient_IDをGASのスクリプトのIDにしなければログイン画面が表示されないのですが、 ネクストエンジンのサイト側でも同じくclient_IDを指定しなければアプリに到達が出来ません。 こういった場合、同じパラメーターが出来てしまうのですが、どのように記述するべきでしょうか。 上記教えて頂きたい次第です。 どうぞ宜しくお願い致します。
回答: 回答がついていないようなので、簡単に... > > 1 GASで他サービスのAPIを利用する際に、WEB画面上でID・PWを求められる場合は、上記参考にしたサイトのOauth2認証の仕組みを活用することは間違えていないでしょうか。 > > > 相手先の仕様に依存しますので、ケースバイケースで。 > > 2 GASで上記の通りWEBで認証した後、ネクストエンジンのサイト側でリダイレクト処理がされ、再度GASのURLにGETが送信されてくるのですが、これをGASで受け取る為には、doGetで受け取るであっておりますでしょうか。 > > > Yes. 個別の値を直接参照するのであれば、`e.parameter.パラメータ名` で取得できると思います。 https://script.google.com/〜〜〜?uid=xxxxxx&state=yyyyyy で、リダイレクトされるてくるのであれば、 ``` function doGet(e) { var neUid = e.parameter.uid; var neState = e.parameter.state; 処理 } ``` のような感じでしょうか。 必要に応じて、デコードなどを実行してください。 Web Apps 参照 > > 3 上記の通りclient_IDをGASのスクリプトのIDにしなければログイン画面が表示されないのですが、ネクストエンジンのサイト側でも同じくclient_IDを指定しなければアプリに到達が出来ません。 > > > どのようなコードか不明なのですが、それぞれのパラメーターに指定することになると思います。