Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 如何使用AddAuthparameter过程?_Api_Delphi_Request - Fatal编程技术网

Api 如何使用AddAuthparameter过程?

Api 如何使用AddAuthparameter过程?,api,delphi,request,Api,Delphi,Request,我必须在Delphi中向REST请求添加授权 有人能给我一个例子,它应该如何调用AddAuthParameter过程吗 我在按钮的onclick事件中执行此代码: authjo, auth1, auth2, auth3, auth4, auth5, auth6, auth7, auth8, auth9, auth10 : string; authjo := auth1 + auth2 + auth3 + auth4 + auth5 + auth6 + auth7 + auth8 + auth9

我必须在Delphi中向REST请求添加授权

有人能给我一个例子,它应该如何调用AddAuthParameter过程吗

我在按钮的onclick事件中执行此代码:

authjo, auth1, auth2, auth3, auth4, auth5, auth6, auth7, auth8, auth9, auth10 : string;

authjo := auth1 + auth2 + auth3 + auth4 + auth5 + auth6 + auth7 + auth8 + auth9 + auth10 ;

Restrequest4.AddAuthParameter('Authorization',authjo,TRESTRequestParameterKind.pkHTTPHEADER);

Restrequest4.Execute;
但这不使用授权令牌“authjo”,我不知道为什么。
我必须有这样的授权“授权承载:令牌”我在代码中的构造是否不好?

如果身份验证需要承载令牌,您必须将其添加到您的呼叫中:

Restrequest4.AddAuthParameter('Authorization','Bearer ' + authjo,TRESTRequestParameterKind.pkHTTPHEADER);

在使用Delphi访问API(在我的例子中是Trakt)后,我设法使用OAuth2进行身份验证。但我遇到了和你一样的问题

我刚才在这里提出了我的问题:

据我所知,根本原因是,像我们这样添加头将创建一个参数条目“Authorize=Bearer[token]”,而它应该是“Authorize:Bearer[token]”

请看这里:

我已经设法缓解了这个问题,并希望参考该线程


此外,工具Fiddler最有助于查看我的应用程序实际发送了什么以及返回了什么。

错误消息是什么?发生了什么?你看到文件了吗?上面说我所说的没有过载版本我必须这样称呼或怎么称呼Restrequest4.AddAuthParameter('Authorization',authjo,TRESTRequestParameterKind.pkHTTPHEADER);“不工作”->什么不工作?,“编译器抱怨”->错误消息是什么?您可能需要包含其余的。我是这样做的,但它会响应“未找到身份验证标头”,我不明白为什么您需要显示更多代码。也许Delphi版本也会引起兴趣。Restrequest4.AddAuthParameter('Authorization',authjo,TRESTRequestParameterKind.pkHTTPHEADER);重新要求4.执行;谢谢你的建议