c# – 使用Oauth2到Google App Script Web App的HTTP请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 使用Oauth2到Google App Script Web App的HTTP请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2494字,纯文字阅读大概需要4分钟。
内容图文
![c# – 使用Oauth2到Google App Script Web App的HTTP请求](/upload/InfoBanner/zyjiaocheng/768/827ab6906d5c459a9670e8f9d8f6b756.jpg)
>列表项目
我创建了一个Google App Script REST – 应用程序(以“script.google.com/”开头),它适用于HTTP请求.
当应用程序可用于“每个人,甚至匿名”时应用程序正常工作但当我将其设置为仅在我的域中可用[编辑:]或“仅我自己”从发布/部署为WebApp [/ EDIT]时,我只能访问带浏览器的Web应用程序并登录但不支持http请求.
我已尝试使用基于Xamarin Auth Tutorial的Google OAuth Playground和Android应用程序请求授权令牌.
这两种方法都为我提供了一个工作授权令牌,我可以将粘贴复制到另一个平台,确认它正在处理对https://wwww.googlapis.com/plus/v1/people/me的请求.
我可以使用浏览器访问Web应用程序并登录.现在,当我使用http请求调用脚本时,我得到以下结果:
"<HTML> <HEAD> <TITLE>Unauthorized</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Unauthorized</H1> <H2>Error 401</H2> </BODY> </HTML>"
我试图用另一个App脚本调用Web App:
var headers = {
"authorization": "Bearer [access_token]",
};
var params = {
method:"GET",
contentType:"application/json",
muteHttpExceptions:true,
headers:headers,
};
var url = "https://script.google.com/[rest_of_the_script_url]";
var response = UrlFetchApp.fetch(url, params);
此外,我尝试使用C#OAuth2Request调用Web应用程序(取自Xamarin教程):
var url = "https://script.google.com/[rest_of_the_script_url]";
var request = new OAuth2Request("GET", new Uri(url), null, account );
我也试过C#HttpWebRequest:
string accessToken = "Bearer [access_token]";
string url = "[https://script.google.com/[rest_of_the_script_url]";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.create(url);
request.Method = "GET";
request.ContentType = "application/json";
request.Headers.Add("Authorization", accessToken);
var response = request.getResponse();
以前的所有方法都有相同的结果:“(401)未经授权”.
对于我设置的范围:
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/userinfo.email
我的WebApp根据其属性不需要任何范围.
[编辑:]另外为了确保它没有我尽可能简单地设置doGet()方法:
function doGet(e)
{
return ContentService.CreateTextOutput("success");
}
之前已经问过这个问题,但是有些人已经找到了解决方案而有些人却没有.我也没有成功的答案.
> I think my first attempt covers this one.
> I tried to translate the Java answer to C#
好的,感谢您在这里阅读,希望有人可以帮助我解决这个问题,因为我的想法已经耗尽(最终还是时间).
编辑:
虽然问题已经解决并且结果是一个范围问题,但我正在回答下面评论中的问题,以防这个问题可能对将来的任何人有任何帮助.
解决方法:
我能够使用Google OAuth Playground中https://www.googleapis.com/auth/drive.file范围授权的访问令牌来使用此功能.
在我看来,这似乎不太正确,但这是我工作的最不宽容的范围.
内容总结
以上是互联网集市为您收集整理的c# – 使用Oauth2到Google App Script Web App的HTTP请求全部内容,希望文章能够帮你解决c# – 使用Oauth2到Google App Script Web App的HTTP请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。