New: Import shelves from any goodreads user

Fixes #369
This commit is contained in:
ta264 2020-08-19 22:16:43 +01:00
parent 412a2dcb6f
commit 6ea1a56b50
2 changed files with 14 additions and 5 deletions

View file

@ -50,7 +50,7 @@ private ValidationFailure TestConnection()
{
try
{
GetUser();
GetUser(Settings.UserId);
return null;
}
catch (Common.Http.HttpException ex)
@ -106,7 +106,7 @@ public override object RequestAction(string action, IDictionary<string, string>
Settings.AccessToken = qscoll["oauth_token"];
Settings.AccessTokenSecret = qscoll["oauth_token_secret"];
var user = GetUser();
var user = GetUser(Settings.UserId);
return new
{
@ -165,9 +165,18 @@ private NameValueCollection OAuthQuery(OAuthRequest oAuthRequest)
return HttpUtility.ParseQueryString(response.Content);
}
private Tuple<string, string> GetUser()
private Tuple<string, string> GetUser(string id)
{
var builder = RequestBuilder().SetSegment("route", $"api/auth_user");
var builder = RequestBuilder();
if (id == null)
{
builder.SetSegment("route", "api/auth_user");
}
else
{
builder.SetSegment("route", $"user/show/{id}.xml");
}
var httpResponse = OAuthGet(builder);

View file

@ -38,7 +38,7 @@ public GoodreadsSettingsBase()
[FieldDefinition(0, Label = "Request Token Secret", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)]
public string RequestTokenSecret { get; set; }
[FieldDefinition(0, Label = "User Id", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)]
[FieldDefinition(0, Label = "User Id", HelpText = "User Id to import from. Leave blank to use the authenticated Goodreads user.", Type = FieldType.Textbox, Advanced = true)]
public string UserId { get; set; }
[FieldDefinition(0, Label = "User Name", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)]