documentation에 주어진 샘플 인증 요청 (또는 인증이 필요한 Etsy의 API가있는 것)을 수행하려고합니다. 내가 얻는 응답은 "oauth_problem = token_rejected"입니다.Etsy oauth authentication C# RestSharp
나는 과 함께 benSharper과 연결된 this SO answer을 사용했습니다.
나는 this과 this 등을 살펴 보았습니다. 그들 중 하나는 https://sandbox.https://openapi.etsy.com/v2
을 사용했고 그 시도에서 예외는 "기본 연결이 닫혔습니다 : SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다." 내 서버 (https)에 배포했지만 여전히 동일한 응답입니다.
그냥 작동하지 않는 것 같습니다. 내가 뭘 놓치고 있니? 어떤 도움을 크게 감상 할 수
public class AuthorizedRequestHelper
{
string baseUrl = "https://openapi.etsy.com/v2";
string relativePath = "/oauth/scopes";
string oauth_consumer_key = "xxx";
string consumerSecret = "xxx";
string oauth_token = "xxx";
string oauth_token_secret = "xxx";
public void test()
{
var restClient = new RestClient(baseUrl);
OAuthBase oAuth = new OAuthBase();
string nonce = oAuth.GenerateNonce();
string timeStamp = oAuth.GenerateTimeStamp();
string normalizedUrl;
string normalizedRequestParameters;
string sig = oAuth.GenerateSignature(new Uri(baseUrl + relativePath), oauth_consumer_key, consumerSecret, oauth_token, oauth_token_secret, "GET", timeStamp, nonce, out normalizedUrl, out normalizedRequestParameters);
var request = new RestRequest(relativePath);
request.Resource = string.Format(relativePath);
request.Method = Method.GET;
request.AddParameter("oauth_consumer_key", oauth_consumer_key);
request.AddParameter("oauth_token", oauth_token);
request.AddParameter("oauth_nonce", nonce);
request.AddParameter("oauth_timestamp", timeStamp);
request.AddParameter("oauth_signature_method", "HMAC-SHA1");
request.AddParameter("oauth_version", "1.0");
request.AddParameter("oauth_signature", sig);
IRestResponse irestResponse = restClient.Execute(request);
var content = irestResponse.Content;
// content = oauth_problem=token_rejected
}
}
:
여기 내 코드입니다.
데스크톱 앱에서이 클래스를 사용하는 방법은 무엇입니까? – Volatil3
클래스 라이브러리에 넣어서 웹 앱이나 데스크톱 앱에서 사용할 수 있습니다. 물론 적절한 참조를 추가해야합니다. –
"OAuthBase가 필요하지 않습니다. RestSharp가 처리합니다." restsharp를 사용하여 서명 된 요청에 대한 OAuth 서명을 만들 수 있습니까 ?? @MichaelTranchida –