我有一个 Sharepoint 2013 本地环境,我正在使用 Visual Studio 为其开发提供商托管的应用程序。
Visual Studio 项目有一个应用项目,其中包含一个可转到 Web 项目的自定义功能区按钮。该 Web 项目托管在 Windows Azure 上,在这里我收到上下文 token 为 null 或空字符串的错误。
使用以下代码获取 token :
var contextTokenString = TokenHelper.GetContextTokenFromRequest(Request);
SharePointContextToken contextToken =
TokenHelper.ReadAndValidateContextToken
(contextTokenString, Request.Url.Authority);
当我看到传递到 Azure 上托管的站点的内容时,我注意到 SPAppToken
为空。使用 ULS 查看器时,我收到错误“Azure 访问控制服务不可用”
我已经检查了应用程序是否已注册(使用 appregnew.aspx
),并且 ID 与 appManifest.xml
和 中的 ID 相同>web.config
文件。
如何获取上下文 token ?我需要在 Azure 中执行其他操作才能使其正常工作吗?
最佳答案
评论中的链接对我有帮助。我在这里发布答案,这样我们就不需要依赖一个网址。
当您的应用的启动网址与为您的应用的 client_id 注册的“应用域”不匹配时,您会收到“EndpointAuthorityDoesNotMatch”消息。
对于我来说,这意味着我需要通过 O365 站点上的 _layouts/15/appregnew.aspx 页面,与我们的开发服务器分开,为我们的测试服务器重新注册应用程序。以下链接包含有关注册客户端 ID 的更多信息:http://msdn.microsoft.com/en-us/library/jj687469.aspx
关于sharepoint - SPAppToken(上下文 token )为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767260/