我想直接从浏览器页面集成SkyDrive Pro进行文件存储,所以我不想从我们的网络服务器上做到这一点。
我见过的几乎所有这样的例子都涉及运行在Sharepoint内部托管的代码,或者在另一个站点上托管的ASPX中使用C#远程运行。
任何人都可以指向一个只在HTML页面中运行的纯JavaScript示例(无服务器端代码)。
据我所知,这是可能的,但几乎每个身份验证示例都会再次使用C#库。它看起来不像是提供类似于Windows Live SDK的客户端JavaScript库,它可能意味着为auth请求构建json / xml。
理想情况下,我只想弹出Office365登录界面进行身份验证,然后使用浏览器会话cookie从我的页面进行API调用。
答案 0 :(得分:1)
这似乎不可能:
请注意,您无法从正在运行的代码中获取访问令牌 在浏览器客户端上。您必须从代码中获取访问令牌 正在服务器上运行并使其可用于客户端代码 (通过使用cookie,URL参数等)。
来源:http://msdn.microsoft.com/en-us/library/jj164022%28v=office.15%29.aspx
您的服务器端代码需要与身份服务器(Azure访问控制服务)建立信任关系,因为它们共享客户端ID和客户端密钥(当您的应用程序作为应用程序主体安装在Sharepoint中时生成) 。请参阅此处流程的第6步和第7步:http://msdn.microsoft.com/en-us/library/fp142382