Trello API OAuth无法找到我的应用

时间:2014-10-27 17:31:18

标签: c# api oauth console-application trello

我使用Trello的Developer API实施OAuth将内容发布到列表中。

我已成功提出请求,并从https://trello.com/1/OAuthGetRequestToken

返回oauth_tokenoauth_token_secret

但是,当我拨打https://trello.com/1/OAuthAuthorizeToken,通过我刚刚收到的oauth_token时,我收到了“未找到应用”的回复。

有人可以帮忙吗?


编辑:以下是我https://trello.com/1/OAuthGetRequestToken

的回复
oauth_token=8d0e43fd0cc67726567d49ae5e818852&oauth_token_secret=[secret]

这是我发送的授权标题(在C#中转义)

"OAuth oauth_version=\"1.0\", oauth_signature_method=\"HMAC-SHA1\", oauth_nonce=\"8335006\", oauth_timestamp=\"1414663625\", oauth_consumer_key=\"9612eaca23c7bdd3eca60dc8c2a8159c\", oauth_signature=\"M6sLyyfHGYXOtQnLJexDx96kbFo=\", oauth_token=\"8d0e43fd0cc67726567d49ae5e818852\""

我做错了什么,或者这是Trello结束时的错误?


编辑:我正在使用RestSharp来调用Trello API,如下所示:

var client = new RestSharp.RestClient("https://trello.com/");
var request = new RestSharp.RestRequest("1/OAuthAuthorizeToken", Method.GET);

编辑:以下是完整的RestSharp代码:

var client = new RestSharp.RestClient("https://trello.com/");
var request = new RestSharp.RestRequest("1/OAuthAuthorizeToken", Method.GET);
Uri uri = new Uri(string.Format("{0}/{1}", client.BaseUrl, request.Resource));

string authHeader = GenerateAuthorizationHeader(uri);

//This is the output of GenerateAuthorizationHeader() 
//string authHeader = "OAuth oauth_version=\"1.0\", oauth_signature_method=\"HMAC-SHA1\", oauth_nonce=\"8335006\", oauth_timestamp=\"1414663625\", oauth_consumer_key=\"9612eaca23c7bdd3eca60dc8c2a8159c\", oauth_signature=\"M6sLyyfHGYXOtQnLJexDx96kbFo=\", oauth_token=\"8d0e43fd0cc67726567d49ae5e818852\"";

request.AddHeader("Authorization", authHeader);

GenerateAuthorizationHeader方法使用OAuth.OAuthBase为OAuth请求生成TimeStamp和Signature。

2 个答案:

答案 0 :(得分:0)

看起来这可能是一个trello问题...... 这个用户,被事物的声音弄错了键。 你是否100%确定钥匙是否正确。 Getting "App not found" from Trello Authentication

答案 1 :(得分:0)

我遇到了同样的问题,这里的问题是OAuth是版本1.0 当您从第一次通话中获得令牌和令牌密钥时,您必须让您的用户访问https://trello.com/1/OAuthAuthorizeToken而不是您。

在您的情况下,您必须将用户重定向到https://trello.com/1/OAuthAuthorizeToken?oauth_token=8d0e43fd0cc67726567d49ae5e818852&scope=read,write,account

他将获得一个他可以允许访问的页面。然后,您将在授权后在页面中获得验证码以继续您的流程(GetAccessToken)。

您可以尝试将其作为测试,在实际应用程序中,您必须在OAuthAuthorizeToken调用中指定回调网址和应用程序名称。