Google Picker で解決できない問題がいくつかあります。
まず、Google ピッカー ウィンドウを介して Google アカウントにサインインする際に問題があります (ここで報告されているように、https: //groups.google.com/forum/#!topic/google-picker-api/3VXqKO1BD5gなど)。つまり、ピッカーは、サインイン アクションから戻るポイントまで完全に機能します。アカウントがサインインすると、ピッカー ビューの読み込みに失敗します。実行されるアクションは次のとおりです。
- Google ピッカーを開く
- サインイン ボタンのある、サインインしていないページを受け取ります。
- ボタンをクリックすると、Google サインイン用の新しいウィンドウが開きます。
- 詳細を入力してサインインします。サインインは成功です。
- サインイン ウィンドウが閉じ、フォーカスが Google ピッカーに戻りますが、サインインを認識できず、代わりに上記の「要求した機能は現在利用できません。後でもう一度試してください。」が表示されます。エラー。js ReferenceError: init が定義されていない場合
次に、IE10 に問題があり、ブラウザーに「サインインしていません」という画面が表示されます。ボタンをクリックするとサインイン ウィンドウが開き、すぐに閉じます (サインインを認識しましたか?) が、Google ピッカー ウィンドウでは何も起こりません。
ここにある例: http://www-personal.umich.edu/~johnathb/misc/gpicker.html IE10 で問題なく動作するようです。だから私は問題が何であるかわからない..可能な違いは次のとおりです。
- サイトで Https を有効にしています (ただし、無効にしても違いはないようです)。
- 現在、イントラネット内でアプリを実行しています (ただし、インターネットにアクセスできます)。
- パブリックIPなどと関係がありますか?しかし、これでは Google ピッカーが Firefox などで機能する理由を説明できません。
ピッカーをロードして処理するために使用されるコードを以下に示します。
$('.googleDrivePicker').click(function () {
var inputControl = $(this).data('inputid');
// Google Picker API for the Google Docs import
google.load('picker',
'1',
{"language": '@Session["kieli"]',
"callback" : function () {
// Create and render a Picker object for searching images.
var picker = new google.picker.PickerBuilder().
addView(google.picker.ViewId.DOCS).
addView(google.picker.ViewId.IMAGE_SEARCH).
setCallback(function (data) {
// A simple callback implementation.
var url = '';
if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
var doc = data[google.picker.Response.DOCUMENTS][0];
url = doc[google.picker.Document.EMBEDDABLE_URL] || doc[google.picker.Document.URL];
$('#' + inputControl).val(url).change();
}
}).
build();
picker.setVisible(true);
$('.picker.modal-dialog-bg').css('z-index', 1101);
$('.picker.modal-dialog.picker-dialog').css('z-index', 1102);
}
});
});
上記の問題のいずれかについて助けていただければ幸いです。