0
私はREST api
Googleの教室に電話をしています。 たとえば、電話で - https://classroom.googleapis.com/v1/userProfiles/ {userId
}です。 ユーザーがGoogleの教室を有効にしている場合は、json
がUserProfile
タイプになります。2つの異なるHTTP応答を処理する汎用クラス
{
"id": "XXXXX",
"name": {
"givenName": "student1",
"familyName": "User",
"fullName": "student1 User"
}
}
その他、 ユーザーがアクセスできない場合は、これが表示されます。
{
"error": {
"code": 403,
"message": "@NotGoogleAppsUser The user is not a Google Apps user.",
"status": "PERMISSION_DENIED"
}
}
REST
呼び出しを行うための方法は、多くの異なる型を返す他のすべての呼び出しのために再利用されますGeneric
方法です。
public T SendRequest<T>(RequestWrapper wrapper)
{
RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer();
var client = new RestClient(wrapper.Url);
RestRequest request = CreateRequest(
wrapper.Data,
wrapper.Header,
wrapper.Method);
IRestResponse response = client.Execute(request);
return deserial.Deserialize<T>(response);
}
問題は、私はT型としてUserProfile
を送信するとき、私は直列化復元された応答の後、アクセスコードを取得しないです。
私のクラスを再設計してresponse
をT type
にする方法はありますか?
最初のアイデア
はエラー・クラスを作成し、UserProfile
はそれを継承
UserProfile
が
external DLL
に属しているとことはできません を作ることでした。
他の解決方法はありますか? TIA
これは禁止されているケースです。認証トークンが期限切れになっていて、再生成が必要な場合があります。 – SJMan