0

我将 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 个字符

4

1 回答 1

0

这似乎是一个 URL 长度问题。我尝试使用非常短的 URL 从我自己的网站提供地图...

http://MY_DOMAIN/mapwrapper/SHORT_KEY

....他们工作得很好。

于 2014-07-14T01:24:58.420 回答