public async Task <OAuthRequestToken> OAuthRequestTokenAsync(string callbackUrl)
{
const string url = "https://www.flickr.com/services/oauth/request_token";
IDictionary <string, string> parameters = new Dictionary <string, string>();
FlickrResponder.OAuthGetBasicParameters(parameters);
parameters.Add("oauth_callback", callbackUrl);
parameters.Add("oauth_consumer_key", ApiKey);
var sig = OAuthCalculateSignature("POST", url, parameters, null);
parameters.Add("oauth_signature", sig);
var data = FlickrResponder.OAuthCalculatePostData(parameters);
var authHeader = FlickrResponder.OAuthCalculateAuthHeader(parameters);
var response = await FlickrResponder.DownloadDataAsync("POST", url, data, null, authHeader);
return(OAuthRequestToken.ParseResponse(response));
}