C# 已定义的OAuth IConsumerRequest错误
我得到了这个错误: “对于RSASSA-PKCS1-v1_5签名方法,必须使用构造函数,该构造函数接受附加的AssymetricAlgorithm“key”参数” 当我尝试使用IOAuthSession对象发出请求时 我假设它引用IOAuthSession构造函数,但IOAuthSession在构造函数中没有“key”参数 这是我的密码:C# 已定义的OAuth IConsumerRequest错误,c#,oauth,devdefined-oauth,C#,Oauth,Devdefined Oauth,我得到了这个错误: “对于RSASSA-PKCS1-v1_5签名方法,必须使用构造函数,该构造函数接受附加的AssymetricAlgorithm“key”参数” 当我尝试使用IOAuthSession对象发出请求时 我假设它引用IOAuthSession构造函数,但IOAuthSession在构造函数中没有“key”参数 这是我的密码: IOAuthSession consumerSession = new OAuthSession(consumerContext, requestTokenU
IOAuthSession consumerSession = new OAuthSession(consumerContext, requestTokenUrl, UserAuthoriseUrl, accessTokenUrl);
IConsumerRequest getOrganisationRequest = consumerSession
.Request()
.ForMethod("GET")
.ForUri(new Uri("https://api.xero.com/api.xro/2.0/Organisation"))
.SignWithToken(accessToken);
任何帮助都将非常有用。我认为错误消息是错误的,没有构造函数重载需要密钥 也就是说,我认为问题在于您没有将密钥分配给消费者上下文: 你应该有这样的东西:
var consumerContext = new OAuthConsumerContext
{
ConsumerKey = "weitu.googlepages.com",
SignatureMethod = SignatureMethod.RsaSha1,
Key = certificate.PrivateKey // this is what you're missing
};
IOAuthSession consumerSession = new OAuthSession(consumerContext, requestTokenUrl, UserAuthoriseUrl, accessTokenUrl);
...
如果有帮助,请告诉我。谢谢您的回复,我想我的问题是,我在共享web服务器上使用的asp.net用户帐户对我证书上的私钥没有访问权限,因此consumercontext没有设置的密钥值。certificate.PrivateKey.KeySize返回未设置为对象实例的对象ref,因此当我尝试发出请求时,它会从consumercontext获取密钥的空值。我已经和我的isp谈过如何更改证书的访问级别。