C# 已定义的OAuth IConsumerRequest错误

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

我得到了这个错误:

“对于RSASSA-PKCS1-v1_5签名方法,必须使用构造函数,该构造函数接受附加的AssymetricAlgorithm“key”参数”

当我尝试使用IOAuthSession对象发出请求时

我假设它引用IOAuthSession构造函数,但IOAuthSession在构造函数中没有“key”参数

这是我的密码:

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谈过如何更改证书的访问级别。