Deviantart apiを使用するには、OAuth 2の使用方法を理解する必要があります。
Client_idとclient_secretの部分を取得しました
ここで彼らが与える情報
エンドポイント
OAuth 2.0を使用して認証する必要があるのは、client_id
およびclient_secret
アプリの値と、以下に示すエンドポイント。
OAuth 2.0ドラフト10:
https://www.deviantart.com/oauth2/draft10/authorizehttps://www.deviantart.com/oauth2/draft10/token
OAuth 2.0ドラフト15:
https://www.deviantart.com/oauth2/draft15/authorizehttps://www.deviantart.com/oauth2/draft15/token
プラセボコール
OAuth 2.0認証に依存する最初のAPI呼び出しは、プラセボ呼び出しです。ファイルのアップロードのように、実際の長いAPI呼び出しを行う前に、アクセストークンがまだ有効であることを確認するのに役立ちます。次のいずれかのエンドポイントで呼び出します(アクセストークンを提供する必要があります)。
https://www.deviantart.com/api/draft10/placebohttps://www.deviantart.com/api/draft15/placebo
トークンを取得したOAuth 2.0ドラフトに対応するエンドポイントを使用する必要があります。
常に次のJSONを返します:{status: "success"}
私はウェブを検索し、この素晴らしいライブラリを見つけました。
DotNetOpenAuth v4.0.1
http://www.dotnetopenauth.net/
参考として追加しましたが、次に何をすべきかわかりません。非常に小さな例でも、OAuth 2
using DotNetOpenAuth;
using DotNetOpenAuth.OAuth2;
ここでdeviantartが情報を提供するページ
http://www.deviantart.com/developers/oauth2
これまでに得たものですが、機能していません
public static WebServerClient CreateClient() {
var desc = GetAuthServerDescription();
var client = new WebServerClient(desc, clientIdentifier: "myid");
client.ClientCredentialApplicator = ClientCredentialApplicator.PostParameter("mysecret");
return client;
}
public static AuthorizationServerDescription GetAuthServerDescription() {
var authServerDescription = new AuthorizationServerDescription();
authServerDescription.AuthorizationEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/authorize");
authServerDescription.TokenEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/token");
authServerDescription.ProtocolVersion = ProtocolVersion.V20;
return authServerDescription;
}
最も簡単な方法は、Visual Studio 2013を取得し、認証タイプとして「個人ユーザーアカウント」を選択して新しいASP.NET Webアプリケーションを作成することです。機能するOAuth 2の実装がそこにあります(App_Start\Startup.Auth.csで構成されています)。これをスライスしてニーズに合わせることができます。
ASP.NET Core Security Projectには、すぐに使用できるソリューションがあります。
Nugetパッケージ: AspNet.Security.OAuth.DeviantArt