首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >restsharp和Postman

restsharp和Postman
EN

Stack Overflow用户
提问于 2019-07-05 00:44:57
回答 2查看 861关注 0票数 0

我正在尝试使用RestSharp代码从ZOHO获取OAuth2访问令牌。Postman模拟运行正常,所以我知道我的代码中缺少一些东西。

我总是得到一个“客户id无效”的结果状态。然而,在Postman中,当我单击“获取新的访问令牌”时,它会工作并返回一个代码。我有与邮递员授权选项卡中相同的项目(client_id、client_secret等)。在Postman中,"Body“被设置为"none",并且没有参数或头部。我的代码和邮递员之间唯一的区别是邮递员需要回调URL。我的代码试图使用"self-client“获取代码,它绕过了回调URL。

我已经尝试了请求调用的几种不同的替代方法,包括ParameterType.Body和ParameterType.GetOrPost。GetOrPost和表单是一样的吗?

代码语言:javascript
复制
client = New RestClient(ZOHO_API_URL)
request = New RestRequest(TokenUrl, Method.POST)
request.AddHeader("content-type", "application/x-www-form-urlencoded") ' also tried: "application/json")
request.AddParameter("grant_type", "authorization_code", 
    ParameterType.GetOrPost)
request.AddParameter("client_id", Client_ID, ParameterType.GetOrPost)
request.AddParameter("client_secret", Client_Secret, 
    ParameterType.GetOrPost)
request.AddParameter("code", Grant_Token, ParameterType.GetOrPost)
response = client.Execute(request)

以下是RestSharp的转换后的邮政编码:

代码语言:javascript
复制
var client = new RestClient("http://");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx");
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);

关于我做错了什么的想法。我试图查看Fiddler遇到的原始数据,但当我这样做时,Postman指示失败。我需要使用什么代码来复制Postman正在做的事情?

如果回调URL也是必需的,我该如何实现它?

EN

回答 2

Stack Overflow用户

发布于 2019-07-12 18:19:26

我快速查看了ZoHo REST API文档,似乎您应该使用有限输入设备authentication flow

从他们的帮助页面上我可以理解,你确实需要做一个POST请求,但是参数必须被指定为查询参数:

代码语言:javascript
复制
https://accounts.zoho.com/oauth/v3/device/code?
client_id=1000.GMB0YULZHJK411248S8I5GZ4CHUEX0&
scope=AaaServer.profile.READ&
grant_type=device_request

只需使用client.UseJson(),将JSON设置为序列化和内容类型的默认值,您也会变得更好。

票数 0
EN

Stack Overflow用户

发布于 2020-02-07 06:16:14

也许Postman是从API端点重定向的,因为其功能与RestSharp不同(可能缺少尾部斜杠或类似的东西)。

尝试添加

代码语言:javascript
复制
client.FollowRedirects = false;

添加到您的RestSharp代码中并分析结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56891856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档