我使用以下API来允许我与Google Blogger进行互动。我需要在用户博客中插入帖子。但是我的PostAsync功能有问题。我得到一个401告诉我,尽管有API密钥,我的请求仍未获得授权,但我认为我可能无法正确插入我的OAuth令牌。
我有以下代码,
这是我设置授权标题的代码,(注意密钥有假,但与我认为的OAuth令牌相同)
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("ya29.AHES6ZTBZi1dWPVdlcF7qAD-nSM6XxwY2323232m4lXW");
这是我的PostAsync功能
HttpResponseMessage response = await req.PostAsync(URLs.postBlogURL + blogID + URLs.postBlogURLPost, new StringContent(json));
谁能告诉我哪里出错了?欢呼声。
[更新
我不确定授权是否必须在其中包含字符串承载。
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer ya29.AHES6ZTBZi1dWPVdlcF7qAD-nSM6XxwY2323232m4lXW");
答案 0 :(得分:25)
这就是我能够为我的请求设置正确的OAuth auth标头的方法:
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( "Bearer", _accessTokenWrapper.Token.access_token );
构造函数的第一个参数是用于Authorization标头的方案。因此在请求中,标题为:
Authorization: Bearer {the access token string}