C# 401未经授权使用google任务
我正在学习使用谷歌任务api rest 我成功地进入了东京 现在,我尝试使用以下rest url获取任务列表: 在google任务文档中,我写到我需要通过HTTP授权头发送访问令牌,但我不知道如何发送 我在网上搜索了结果,但没有找到解决方案。 我也搜索了这个网站的解决方案,但没有得到一个 我在尝试请求时遇到错误。GetResponse(); 这是我的密码C# 401未经授权使用google任务,c#,oauth,httpwebrequest,google-api,C#,Oauth,Httpwebrequest,Google Api,我正在学习使用谷歌任务api rest 我成功地进入了东京 现在,我尝试使用以下rest url获取任务列表: 在google任务文档中,我写到我需要通过HTTP授权头发送访问令牌,但我不知道如何发送 我在网上搜索了结果,但没有找到解决方案。 我也搜索了这个网站的解决方案,但没有得到一个 我在尝试请求时遇到错误。GetResponse(); 这是我的密码 private AccessToken _accessToken = null; private string Apikey = "my
private AccessToken _accessToken = null;
private string Apikey = "my api key";
protected void Page_Load(object sender, EventArgs e)
{
_accessToken = (AccessToken)Session["AccessTokken"];
string _customerkey = "my customer key";
string _customerSecret = "my customer secret key";
Response.Write(_accessToken.Token);
string nostring = "";
string nnString = "";
OAuthBase oauth = new OAuthBase();
Uri t = new Uri("https://www.googleapis.com/tasks/v1/users/@me/lists");
string u = oauth.GenerateSignature(t, _customerkey, _customerSecret, _accessToken.Token,
_accessToken.TokenSecret, "GET", oauth.GenerateTimeStamp(),
oauth.GenerateNonce(), out nostring, out nnString);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(nostring);
request.Method = "GET";
//request.Headers.Add("Authorization: Bearer " + _accessToken.Token);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string responseString = reader.ReadToEnd();
reader.Close();
Response.Write(responseString);
有一个Google发布了一个用于访问Google Api的应用程序,其中包括用于执行身份验证的帮助程序,我建议使用此Api并从项目发布者(包括)开始 如果您想继续手动启动Api调用,您可以使用,或者查看,看看Google是如何进行通信的 编辑 从上面链接的源代码中,您可以找到添加http标头的,该标头的值在中指定。相关章节抄录如下
StringBuilder sb = new StringBuilder();
sb.Append("Authorization: OAuth oauth_version=\"1.0\",");
sb.AppendFormat("oauth_nonce=\"{0}\",", EncodingPerRFC3986(nonce));
sb.AppendFormat("oauth_timestamp=\"{0}\",", EncodingPerRFC3986(timeStamp));
sb.AppendFormat("oauth_consumer_key=\"{0}\",", EncodingPerRFC3986(consumerKey));
if (!String.IsNullOrEmpty(token))
{
sb.AppendFormat("oauth_token=\"{0}\",", EncodingPerRFC3986(
}
sb.Append("oauth_signature_method=\"HMAC-SHA1\",");
sb.AppendFormat("oauth_signature=\"{0}\"", EncodingPerRFC3986(signature));
return sb.ToString();
您可以只使用Api的这一底层,而不用担心生成的服务。请记住,此代码包含在中,因此在法律场合使用DLL实现此特定函数可能比直接处理它更容易 我熟悉Google API的.NET库,但我想使用httpRequest。因为这对twitterapi也有好处,所以它也可以作为restapi。我所需要的只是知道将access tokken发送到google的语法。