Windows phone 7 使用RestSharp对Trello API进行身份验证

Windows phone 7 使用RestSharp对Trello API进行身份验证,windows-phone-7,oauth,restsharp,trello,Windows Phone 7,Oauth,Restsharp,Trello,我正在努力弄清楚如何从我的WindowsPhone7应用程序中使用Trello的OAuthAPI调用。除了一个文档之外,API并没有真正的文档化 以下是我目前掌握的情况: public void OnAuthenticateClicked(object sender, EventArgs e) { const string consumerKey = "mykey"; const string consumerSecret = "mysecret"; const stri

我正在努力弄清楚如何从我的WindowsPhone7应用程序中使用Trello的OAuthAPI调用。除了一个文档之外,API并没有真正的文档化

以下是我目前掌握的情况:

public void OnAuthenticateClicked(object sender, EventArgs e)
{
    const string consumerKey = "mykey";
    const string consumerSecret = "mysecret";
    const string baseUrl = "https://trello.com/1";

    var client = new RestClient(baseUrl) 
    {
        Authenticator = OAuth1Authenticator.ForRequestToken(consumerKey, consumerSecret)
    };
    var request = new RestRequest("OAuthGetRequestToken", Method.POST);
    var response = client.ExecuteAsync(request, HandleResponse);
}

private void HandleResponse(IRestResponse restResponse)
{
    var response = restResponse;
    Console.Write(response.StatusCode);
}
我得到了一个
404
响应,显然有些不对劲


有什么建议吗?

用authorize替换OAuthGetRequestToken

不使用
ExecuteAsync
似乎可以让它工作:

RestRequest request = new RestRequest("OAuthGetRequestToken", Method.POST);
IRestResponse response = client.Execute(request);
Console.Write(response.StatusCode);

根据John Sheehan的说法,“oAuth1在异步场景(SL和WP)中还不受支持。”

我认为您的基本url不正确。 请尝试以下操作:


常量字符串baseUrl=“”

谢谢你的回复,约翰。试过了,但我还是得到了一个
404
。当我使用
OAuthGetRequestToken
时,
RequestUri
的格式正确,指向,这似乎是正确的。我试图从RestSharp集成测试中弄清楚这一点,但不清楚如何将您在那里所做的映射到Trello调用。非oauth版本看起来几乎更简单。你考虑过用它来代替吗?好建议。虽然我并不热衷于从HTML响应中解析令牌,但事实证明这非常容易实现。看起来很脆弱。从长远来看,OAuth似乎是一种“正确”的方式,但现在我将采用更简单的方式。谢谢,但这也不起作用。如果不使用ExecuteAsync(例如,
IRestResponse response=client.Execute(request);
),它会起作用吗?这使得第一步(OauthGetRequestTokenbit)对我有效。有趣的观察。谢谢你试一试。不幸的是,Windows Phone只支持异步呼叫。但这确实给了我一个调查的向量。@JoshEarl似乎有一点OAuth 1.0不支持异步,我不确定这是否仍然是真的。