【问题标题】:Trello API OAuth can't find my appTrello API OAuth 找不到我的应用
【发布时间】:2014-12-23 00:57:05
【问题描述】:

我正在使用 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 请求生成时间戳和签名。

【问题讨论】:

  • 能否分享一下您使用哪个 C# 组件与 Trello api 进行通信。
  • @LouisLewis 我刚刚更新了问题以表明我正在使用 RestSharp,并给出了我正在使用的代码。
  • 嗨,马丁,感谢您的补充,现在图片变得更加清晰了。您的代码中有一部分我没有看到,您如何尝试将授权标头与 RestSharp 一起使用?您能否分享您从中提取 sn-p 的“代码块”。我问这个的原因是因为使用 RestSharp 它有帮助身份验证令牌的方法。看到“代码块”将让用户看到“整体”图片并为您提供相应的帮助。
  • @LouisLewis 我刚刚又更新了。

标签: c# api oauth console-application trello


【解决方案1】:

看起来这可能是一个 trello 问题... 这个用户,听错了钥匙。 您是否 100% 确定密钥是正确的。 Getting "App not found" from Trello Authentication

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-09-16
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 2016-11-24
      • 2016-11-29
      • 2014-04-18
      • 1970-01-01
      • 2016-02-27
      相关资源
      最近更新 更多