Я работаю над .net-приложением, которое позволит пользователям присоединять ссылку на документ google к приложению и просматривать/редактировать их из самого приложения. Я использую iframes для встраивания документа google в свое приложение.Показывать Google Doc в IFRAME в приложении ASP.Net
Поскольку вложение google doc в приложение должно выполняться в автономном режиме, я использую токен доступа из Google API для получения URL-адреса и отображения. У меня проблемы с отображением.
Я сделал все, что связано с получением токена доступа, необходимого для открытия google doc «офлайн» в соответствии с документом API Google. Согласно документу разработчика google api, открывая URL-адрес google doc, мне нужно либо передать токен доступа в качестве параметра запроса, либо заголовок запроса (заголовок «Авторизация»).
Я попытался с помощью заголовка Authorization и открыл DOC URL Google с помощью HttpWebRequest объекта, но я не получаю страница документа правильно открыта ..
код в ASPX файл
htmlBuilder.AppendFormat("<iframe src='ShowFiles.ashx?url={0}' id='myFrame' name='myFrame' width='100%' height='100%' marginheight='0' frameborder='0'></iframe>", urlLink);
Код в Generic Handler (ShowFiles.ashx) файл
// get the UrlLink from the Query Parameter (url)
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(urlLink);
myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/27.0.1453.116 Safari/537.36";
myHttpWebRequest.Headers.Add("Authorization", "Bearer " + accessToken);
string pageContent = string.Empty;
HttpWebResponse HttpWResp = (HttpWebResponse)myHttpWebRequest.GetResponse();
if (HttpWResp != null)
{
StreamReader sr = new StreamReader(HttpWResp.GetResponseStream());
pageContent = sr.ReadToEnd();
}
context.Response.ContentType = HttpWResp.ContentType;
context.Response.Write(pageContent);
браузер делает открыть документ Google, но как только открыл он продолжает говорить, что «пытается подключиться к Google» и он держит выскакивают «сервер не отвечает»
Итак, я попытался использовать токен доступа в качестве параметра запроса для URL LINK, но, похоже, он вообще не работает. например: urlLink = "http://google.docs.com/myDoc/myFile?access_token=fsdfsfsq4334234_df
и установить этот адрес в IFrame ЦСИ
<iframe src=urlLink>
это не работает на всех ...
Я знал, что, если в том же браузере, я войти в мой google account, где у меня есть этот документ Google для Google (на другой вкладке), а затем в моем веб-приложении без этого токена доступа, мой iframe загружает документ google отлично, просто предоставив URL-адрес документа, например
h ttp: //google.docs.com/myDoc/myFile ">
Я попытался открыть URL-адрес с клиентской стороны, используя jQuery ajax, после чего он будет открыт, но будет доступен только для чтения.
var jqXHR = $.ajax({
async: true,
url: url,
type: 'GET',
xhr: function() {
var xhr = new window.XMLHttpRequest();
return xhr;
},
beforeSend: function (xhr) {
if (xhr != null)
xhr.setRequestHeader("Authorization", "Bearer " + token);
}
});
jqXHR.done(function (data, textStatus, xhr) {
$("#myFrame").contents().find("html").html(xhr.responseText);
});
Может кто-нибудь помочь мне в получении этой документации Google, которые будут отображаться правильно (в режиме редактирования) в IFRAME в моем веб-приложение
Если это так, то со мной, подписанным в учетную запись gmail на одной вкладке, и открытием моего веб-приложения на другой вкладке, я могу установить iframe src в google docs, и он будет отображаться правильно, и iam сможет редактировать документ – devi