2

我正在为 Windows Phone 7 创建一个查看器应用程序。该应用程序已经处理了 OAuth2 内容并成功浏览了 Google Doc 的文件夹结构。

我使用Google Documents List API 3。BTW 浏览在不使用请求标头的情况下完美运行,而是将 access_token 附加到请求 Uri。

现在应用程序需要向用户显示文件,如果可能,无需先下载它们。这意味着我想将 UI 的 Image.Source 设置为图像的 Uri,将 UI 的 MediaElement.Source 设置为视频的 Uri,将 BackgroundAudioPlayer.Track.Source 设置为音频文件的 Uri。显然我不能在这种情况下使用请求标头。

但是,似乎仅将 access_token 附加到下载 Uri 是行不通的。UI 元素失败并显示一般错误消息,如果我手动尝试使用网络浏览器(未登录到 Google),它会显示一个空白屏幕、401 错误或重定向到 Google 的登录页面。

是否可以仅通过定义 Uri 来下载/流式传输 Google 数据条目?如果是,那么 Uri 需要是什么样的?

4

1 回答 1

2

出于安全原因,故意不允许使用 access_token URL 参数进行授权。基本上,如果用户要在浏览器上打开恶意文件(例如,包含一些 Javascript 的 html 就足够了),文件上的恶意代码可能会窃取 URL 中的访问令牌并将其发送给第三方坏人。

要访问该文件,您需要使用“授权”HTTP 标头进行授权。只需在请求中添加一个 HTTP 标头,如下所示:

Authorization: Bearer access_token_here
于 2012-05-14T15:11:43.063 回答