質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • JavaScript

    20399questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Chrome

    772questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

  • Internet Explorer

    336questions

    Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

  • WSH

    40questions

    WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

  • Microsoft Edge

    8questions

ブラウザIEの仕様について

受付中

回答 0

投稿 編集

flag 質問者が2日前に「まだ回答を求めています」と言っています。

  • 評価
  • クリップ 1
  • VIEW 126

gorinjuu

score 0

お世話になっております。

現在、承認済みのアカウントで
認可コードを取得するためのURLを外部アプリから開き、
IEで開かれたブラウザのURLに認可コードが表示されるので
そのコードでAPIを利用するプログラムを書いています。

この際に、chromeやEdgeなら問題なく認可コードが表示されるURLが返却されるのですが、
IEだと表示されません。(直接ブラウザを立ち上げて同じURLを貼り付けて開くと問題なく表示されます。)
また、chromeやedgeの場合でも直接ブラウザを立ち上げて貼り付けでもちゃんと表示されます。

下記の画像がその時のものです。
イメージ説明
本来であれば、URLの部分が
「{redirect_uri}?code={~}&location=us&accounts-server=https%3A%2F%2Faccounts.zoho.com」
となり、codeに認可コードが表示されます。

画像の通り、ZohoというサイトのもののAPIを利用としています。

もし、分かる方がいましたら教えていただけないでしょうか。
Zohoのサポートサービスにも念のため、問い合わせをしております。

IE プロキシ設定

【環境】
IE11
windows10

JSファイルでも試しましたが上手くいかなかったので、
そちらのソースも載せます。

test();

function test() {

      //  読み込み状態
    var READYSTATE_UNINITIALIZED  = 0;  // 初期化中
    var READYSTATE_LOADING        = 1;  // 表示データ読み込み中
    var READYSTATE_LOADED         = 2;  // 表示データ読み込み完了
    var READYSTATE_INTERACTIVE    = 3;  // データの表示中
    var READYSTATE_COMPLETE       = 4;  // 全てのデータが表示終了

    var ieAPP = new ActiveXObject( "InternetExplorer.Application" );
    ieAPP.Visible = true;
    // ieAPP.Visible = false;
    var url = WScript.Arguments(0);
    var testurl = "microsoft-edge:"+url

    //デバッグ用
    // WScript.echo(url);

    //Edgeで開く場合
    var edge = WScript.CreateObject("Shell.Application");
    // edge.ShellExecute(testurl);

    ieAPP.Navigate(url);

    //読込が終わるまで待つ
    while (ieAPP.Busy && ieAPP.ReadyState==READYSTATE_COMPLETE){WScript.Sleep(500)};

    var sh = WScript.CreateObject("Shell.Application");
    var array = [];

    var pattern = 'testsuntech.tk/';

    for (var i = 0; i < sh.Windows().Count; i++) {
        var a = "";
        try {a = sh.Windows(i).document.URL;}
            catch(e) {}
            if(a) {array.push(a);}
    }

    // WScript.echo(window.location.pathname);

    var fileName = "";
    var filesh = new ActiveXObject("WScript.Shell");
    var desktopPath = filesh.SpecialFolders("Desktop");
    var absoluteFilePath = "";
    var create = true;//ファイルを作成するかのフラグ

    var iomode = 1;
    // 1: ファイルを読み取り専用として開く(書き込めない)
    // 2: ファイルを書き込み専用として開く
    // 8: ファイルの最後に追加して書き込み

    var format = -2;
    // true(-1): Unicode
    // false(0): ASCII
    // -2: SJIS(システムデフォルト)

    var fs = new ActiveXObject("Scripting.FileSystemObject");

    //リダイレクトURLだけ抜き取る
    for (var i = 0; i < array.length; i++) {
      if(array[i].indexOf(pattern) > -1){
        // 部分一致のときの処理
        var start = 0;
        var end = 0;
        var code = "";

        start = array[i].indexOf("code=") + 5;
        end = array[i].indexOf("&",start) - 1;

        if (end > 0) {
          end = end - start + 1;
          code = array[i].substr(start,end);
        }else {
          code = "notfind"
        }

        //デバッグ用
        // WScript.echo(array[i]);
        // WScript.echo(String(start));
        // WScript.echo(String(end));
        // WScript.echo(code);

        fileName = "code_" + code;

        // WScript.echo(fileName);

        //windowオブジェクトが使えないため
        // window.navigator.msSaveBlob(blob, "fileName.txt");

        absoluteFilePath = desktopPath + "\\" + fileName;

        var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format);

        //デバッグ用
        WScript.echo(absoluteFilePath);

      }else {
        fileName = "Error"
        absoluteFilePath = desktopPath + "\\" + fileName;

        var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format);
      }

      file.Close();

    }

    if (array.length == 0) {
      fileName = "ReferenceError"
      absoluteFilePath = desktopPath + "\\" + fileName;

      var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format);
      file.Close();
    }

    //  Internet Explorerを終了
    // ieAPP.Quit();

}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • gorinjuu

    2019/05/16 12:08

    言葉足らずで申し訳ありません。
    {redirect_uri}?code=については、こちらから開くのではなく、
    https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCRM.users.ALL&amp;client_id={client_id}
    &response_type=code&access_type={"offline"or"online"}&redirect_uri={redirect_uri}」
    を開いて承認済みなら、{redirect_uri}?code=のURLが返されます。

    それは問題なくアクセス出来ました。
    また、IEでも直接ブラウザから行う場合は認可コードは取得出来ています。

    キャンセル

  • mather

    2019/05/16 13:15

    URLの途中に &amp; があるのが気になるのですが、外部アプリ?からIEに渡される正確なURLってわかりますか?
    同じくclient_idなどはマスクしていただいていいのですが、 & と &amp; の違いなどは正確に記載してほしいです。(そもそも & をURLエスケープする場合は &amp; ではなく %26 なのですが)

    キャンセル

  • gorinjuu

    2019/05/16 13:57 編集

    すいません。
    URLのはサイトのをコピペしたものなのでたまたまそこの&だけ「amp;」が付加されたと思います。
    ですので、本来は「amp;」はURLに存在しません。
    下記URLがブラウザに貼り付けた情報です。一部はマスクしています
    https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCRM.users.ALL & client_id=○○&response_type=code&access_type=online
    &redirect_uri=○○
    ※先程、問題あった場所は両端にスペースで開けてあります

    キャンセル

まだ回答がついていません

同じタグがついた質問を見る

  • JavaScript

    20399questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Chrome

    772questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

  • Internet Explorer

    336questions

    Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

  • WSH

    40questions

    WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

  • Microsoft Edge

    8questions