Отказано, чтобы отобразить фрейм, потому что он установил X-Frame-Options в «DENY» в веб-обозревателе Android

Когда я пытаюсь показать календарь Google в webview, он показывает некоторую ошибку:

[INFO:CONSOLE(0)] "Refused to display 'https://accounts.google.com/ServiceLogin?service=cl&passive=1209600&continue=https://www.google.com/calendar/embed?src%3Detlwhk@gmail.com%26ctz%3DAsia/Hong_Kong&followup=https://www.google.com/calendar/embed?src%3Detlwhk@gmail.com%26ctz%3DAsia/Hong_Kong&btmpl=mobile&ltmpl=mobilex&scc=1' in a frame because it set 'X-Frame-Options' to 'DENY'.", source: about:blank (0) 

И это html-код

 <p><iframe style="border: 0;" src="https://www.google.com/calendar/embed?src=etlwhk%40gmail.com&amp;ctz=Asia/Hong_Kong&amp;output=embed" width="800" height="600" frameborder="0" scrolling="no"></iframe></p> 

И для стороны Android это простой код веб-просмотра

  StringBuilder sb = new StringBuilder(); sb.append("<HTML><HEAD><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'><style>img{display: inline; height: auto; max-width: 100%}iframe{width:100%}</style></HEAD><body>"); sb.append(page.page_content_chi.toString()); sb.append("</body></HTML>"); webview.loadDataWithBaseURL("file:///android_asset/", sb.toString(), "text/html", "utf-8", null); 

Как исправить ошибку? Спасибо за помощь.

Solutions Collecting From Web of "Отказано, чтобы отобразить фрейм, потому что он установил X-Frame-Options в «DENY» в веб-обозревателе Android"

Вам нужно сделать свой календарь открытым. Это то, что происходит. Поскольку календарь, который вы пытаетесь отобразить, не публикуется публично, Google Calendar сначала хочет узнать, кто вы, чтобы решить, что вам показать, поэтому он отправляет вас на страницу входа в Google , Страница входа защищает себя от захвата кликов, запрещая отображение себя в iframe (это означает, что для параметра 'X-Frame-Options' is set to 'DENY' ).

Если вы сделаете календарь общедоступным, календарь просто покажет его, не пытаясь сначала войти в систему. О том, как разделить календарь, см. Здесь: https://support.google.com/calendar/answer/37083

Вы можете тривиально протестировать на рабочем столе, будет ли это работать в WebView, создав простую тестовую страницу, в которую встроен календарь в iframe, а затем откроется в окне инкогнито Google Chrome, где вы не вошли в сервисы Google. Chrome также откажется показывать Календарь, пока вы не сделаете его общедоступным.