2012-05-09 36 views
0

存在「X-Frame-Options:SAMEORIGIN」標頭阻止Apps腳本在不是來自sites.google.com(或docs.google。 com)python代理在嵌入iframe中嵌入谷歌應用腳​​本服務

如何創建一個python代理從IFrame工作。我懷疑代理需要替換SAMEORIGIN標籤並使用ajax樣式的POST命令。 這對我來說是新的領域,以前從未需要設置代理。

例谷歌Apps腳本頁面: https://docs.google.com/macros/exec?service=AKfycbyrbgVS39Hf-RHYVPbnCKzf_uVaD0sGeFSKEqyRIw

這種代理解決方案看起來接近: How do I get my simple twisted proxy to work?

我找到了設置在App Engine代理的說明,但這種失敗,Ajax風格的POST命令: http://www.labnol.org/internet/setup-proxy-server/12890/

這是已知的Google Apps腳本問題#546和#522。約1歲,約有100人在尋找解決方案。

回答

0

bs2grproxy只做了一些小改動。 我張貼在這裏的解決方案: http://code.google.com/p/google-apps-script-issues/issues/detail?id=546#c104

的變化:

在文件bs2grproxy.py低於48行 「引發異常('不支持......」 插入:

 scm = 'https' 

線以下「異常('請求...')插入:

  if fetched: 
       if resp.headers.get('Content-Type', '').find('html') >= 0: 
        resp.content = resp.content + '<style type="text/css"> .warning-panel {display: none;} </style>' 
        resp.headers['x-frame-options'] = 'IGNORE' 
        logging.info("warning-panel hidden and x-frame-options reset") 

您可能還需要更改bs中的代理超時2grproxy.py,像這樣:

resp = urlfetch.fetch(new_path, self.request.body, method, newHeaders, False, False, 30) 

Eddy。