【发布时间】:2014-10-09 17:06:39
【问题描述】:
我创建了一个 C# .NET 客户端,用于与 Adobe 的 SiteCatalyst/Omniture/Reporting 1.4 REST API 交互(天知道为什么他们必须为同一个事物命名这么多),它公开了 100% 支持的功能API,我想将其作为公共 NuGet 包发布,但我遇到了身份验证问题。
我已经完成了他们文档中所述的所有内容(包括设置应用程序等)以进行身份验证,在此处说明 - https://marketing.adobe.com/developer/en_US/documentation/authentication/auth-client-credentials#concept_5190CB12025F4B29947AB2CF13435C9C - 并尝试了我所知道的所有方法来按照他们的描述提出身份验证请求并始终收到回复一个错误说我没有发送grant_type。我尝试将其作为查询字符串参数、标头、URL 编码 POST、JSON POST 以及这 4 种可能的组合发送。所有这些都返回相同的错误。
我还尝试使用 Fiddler 来捕获请求,同时使用他们文档中列出的 curl 语句:
$ curl -i -v "https://api.omniture.com/token" -u 'YOUR_CLIENT_ID:YOUR_CLIENT_SECRET' -d "grant_type=client_credentials"
不幸的是,当我使用 Windows curl 执行此操作时,它只是说它无法验证 SSL 证书。
如果有人可以向我展示成功身份验证的请求是什么样的(标头、正文等 - 尽管您可以删除凭据),我可以完成 NuGet 包并将其提供给每个人使用在 .NET 中与 Adobe 的 Reporting API 轻松交互。
提前感谢您的任何帮助或建议!
-本
【问题讨论】:
-
我提出的愚蠢问题..您是否执行了步骤 1-3 来设置/获取有效的 id/secret creds?您是否将
YOUR_CLIENT_ID:YOUR_CLIENT_SECRET替换为请求中的真实值 -
对于您的测试与 ssl 证书问题,您可以尝试 ignoring ssl authentication 进行测试
标签: c# .net rest adobe-analytics