New: Import shelves from any goodreads user

Fixes #369
pull/395/head
ta264 4 years ago
parent 412a2dcb6f
commit 6ea1a56b50

@ -50,7 +50,7 @@ namespace NzbDrone.Core.ImportLists.Goodreads
{
try
{
GetUser();
GetUser(Settings.UserId);
return null;
}
catch (Common.Http.HttpException ex)
@ -106,7 +106,7 @@ namespace NzbDrone.Core.ImportLists.Goodreads
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 @@ namespace NzbDrone.Core.ImportLists.Goodreads
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);

@ -38,7 +38,7 @@ namespace NzbDrone.Core.ImportLists.Goodreads
[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)]

Loading…
Cancel
Save