问题描述
|
我正在尝试遵循Microsoft提供的以下示例来获取访问令牌:
http://msdn.microsoft.com/en-us/library/ff750952.aspx
我的代码如下所示:
<cfset ACCESS_TOKEN_URL = \"https://consent.live.com/AccessToken.aspx\" />
<cfset clientID = \"0000000048052422\" />
<cfset secretKey = \"9MzM2FgYMHDg2TF9165PaU548ix4efVg\" />
<cfset callbackURL = \"http://sportsbuzz.local/\" />
<cfhttp method=\"post\" url=\"#ACCESS_TOKEN_URL#\" result=\"liveResult\">
<cfhttpparam type=\"url\" name=\"wrap_client_id\" value=\"#clientID#\" />
<cfhttpparam type=\"url\" name=\"wrap_client_secret\" value=\"#secretKey#\" />
<cfhttpparam type=\"url\" name=\"wrap_callback\" value=\"#callbackURL#\" />
<cfhttpparam type=\"url\" name=\"wrap_verification_code\" value=\"#url.wrap_verification_code#\" />
<cfhttpparam type=\"url\" name=\"idtype\" value=\"CID\" />
</cfhttp>
<cfdump var=\"#liveresult#\">
但是我收到以下响应401错误:
文件内容401-未经授权:由于凭据无效,访问被拒绝。服务器错误401-未经授权:由于凭据无效,访问被拒绝。您无权使用您提供的凭据查看此目录或页面。
标头HTTP / 1.1 401未经授权到期:-1日期:2011年5月24日星期二20:11:52 GMT服务器:Microsoft-IIS / 7.5内容长度:1293语法:无缓存Cache-Control:无缓存Set-Cookie :mktstate = S = 948418761&U =&E =&P =&B =; domain = .live.com; path = / Set-Cookie:mkt1 = norm =; domain = .live.com; path = / Set-Cookie:mkt2 = ui = zh-CN; domain = .consent.live.com;路径= / WWW身份验证:WRAP X-AspNet版本:2.0.50727 PP服务器:PPV:30 H:BAYIDSTOOL1B09 V:0内容类型:text / html
我不明白我要去哪里错了。有什么建议么?
解决方法
您是否首先获得了验证码(在大多数OAuth实现中为请求令牌)?
您需要先获取它才能请求访问令牌:http://msdn.microsoft.com/zh-cn/library/ff749592.aspx
您正在使用一些url.wrap_verification_code变量,但未在此代码段中进行设置。