saveAccessTokenResponse method
AccessTokenで受信したレスポンスボディの内容を、UserIDをキーとしてデータベースに保存 もしも、ResponseBodyにuser_idが含まれていなければ、false:エラーを返却するので注意する
Implementation
Future<String?> saveAccessTokenResponse(String responseBodyAccessToken) async {
OAuthDataStorage storage = OAuthDataStorage();
List<OAuthData> lstData = await storage.getOAuthData(OAuthData.USERID_TEMP);
OAuthData data;
if (0 < lstData.length) {
data = lstData[0];
} else {
data = OAuthData(OAuthData.USERID_TEMP);
}
final dicParams = urlParametersToDict(responseBodyAccessToken);
if (null == dicParams["user_id"]) {
return null;
}
bool bUpdate = false;
data.userId = dicParams["user_id"]!;
List<OAuthData> lstDataUser = await storage.getOAuthData(data.userId);
if (0 < lstDataUser.length) {
data = lstDataUser[0];
bUpdate = true;
}
data.accessToken = dicParams["oauth_token"];
data.accessTokenSecret = dicParams["oauth_token_secret"];
data.accessScreenName = dicParams["screen_name"];
if (bUpdate) {
storage.updateOAuthData(data);
} else {
storage.insertOAuthData(data);
}
return data.userId;
}