我将 HTML 页面发布到 OneNote REST API,以:
https://www.onenote.com/api/v1.0/pages
我从 Google App 引擎 (Java) 执行此操作,一切正常,除了我在 HTML 中链接的静态 Google 地图存在问题。
具体来说,没有编码路径的静态地图正在工作并且显示良好,例如:
http://maps.googleapis.com/maps/api/staticmap?key=<KEY>&sensor=false&
center=<LAT,LON>&scale=1&zoom=17&markers=<LAT,LON>&size=150x150
但是,当我发布包含编码折线时,图像不会显示在创建的 OneNote 页面上(它在页面上看起来是一个断开的链接),例如:
http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=150x150&
scale=1&path=enc:<PATH>&markers=<BLAH>&key=<KEY>
我的第一个想法是它不起作用,因为谷歌地图密钥只能在我自己的域中使用(尽管这不能解释为什么没有编码折线的地图已经工作了),所以我添加了
https://www.onenote.com/*
到推荐人名单。(我不知道那是正确的引荐来源 - 只是基于 API URL 的猜测)。那并没有解决问题。
然后我想可能是因为 MS 不允许在 OneNote 上使用谷歌地图(或者谷歌不允许在 OneNote 上使用谷歌地图)。所以我尝试通过我自己的网站提供谷歌地图。那也没有用。但是我从我的服务器日志中可以看到,OneNote 甚至没有在我的网站上调用带有编码折线的地图的 URL——这很奇怪!
我的最终想法是,可能是因为带有编码折线的 URL 太长,OneNote API 无法处理。所以我可以尝试的一件事是创建短 URL 以放入 HTML。在我尝试最后一步之前,我想我会征求意见,以防我仍然走错路……
谢谢。
编辑:这是一个不起作用的 URL 示例(仅不包括密钥):
http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=150x150&scale=1&
path=enc:obblHzpwnVY?QEmBqA@qEzDT|JeAtD{Qn@yQhD_CMeIZ}BeCO@A@A?H
&markers=label:S|49.331765,-123.169574|&markers=label:F|49.328255,-123.158863&
key=<KEY>
请注意,密钥长度约为 40 个字符