Error: "Requested value 'memberJoinedBoard' was not found" thrown when calling TrelloFactory.Me(TrelloAuthorization auth)
Problem
For some Users calling TrelloFactory.Me(TrelloAuthorization auth) throws "Requested value 'memberJoinedBoard' was not found."
Unfortunately this is only (but consistently) affects some users. (I can't share the specify user details here (security!!!), but if you contact me we can set up a call or something)
To Reproduce
var auth= new TrelloAuthorization {
AppKey = "TheOAuthKey",
UserToken = "The users.AccessToken"
};
var trelloMember = await _trelloFactory.Me(auth); // <- Internally throws "Requested value 'memberJoinedBoard' was not found."
await trelloMember.Boards.Refresh()
return trelloMember.Boards: // <- this is empty when it should have values
This workaround succeeds (but requires reflection)
var auth= new TrelloAuthorization {
AppKey = "TheOAuthKey",
UserToken = "The users .AccessToken"
};
var id = UseReflectionToCall_Trello_Me_GetId(auth);
Member trelloMember = (Member)trelloFactory.Member(id, auth);
Expected behavior
Call to _trelloFactory.Me(auth); should succeed, and or fail gracefully and still allow the use of features which don't depend on 'memberJoinedBoard'
Screenshots
Message: Requested value 'memberJoinedBoard' was not found.
System.Enum+EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument):36
System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult):397
System.Enum.Parse(Type enumType, String value, Boolean ignoreCase):16
Manatee.Json.Serialization.Internal.Serializers.EnumNameSerializer.Deserialize(DeserializationContext context):167
Manatee.Json.Serialization.Internal.Serializers.DefaultValueSerializer.TryDeserialize(ISerializer serializer, DeserializationContext context):103
Manatee.Json.Serialization.Internal.Serializers.SchemaValidator.TryDeserialize(ISerializer serializer, DeserializationContext context):110
Manatee.Json.Serialization.JsonSerializer.Deserialize(DeserializationContext context):26
Manatee.Json.Serialization.Internal.Serializers.NullableSerializer._Decode[T](DeserializationContext context):57
Desktop (please complete the following information):
- OS: Win 10
- .Net Target: net4.7.2 and .net6.0
- Version: 4.4.3
Additional context
Unfortunately this is only (but consistently) affects some users. (I can't share the specify user details here (security!!!) but if you contact me, we can set up a call or something)
It sounds strange that one user fails, but not others... Could you try and see if the issue is indeed with the Manatee.Trello or something internally @ Trello side with the specific users using one of the other C# Trello APIs out there
Example: Does the TrelloDotNet nuget package fail in the same way by calling:
TrelloDotNet.TrelloClient client = new TrelloDotNet.TrelloClient("apiKey", "token");
Member trelloMember = await client.GetTokenMemberAsync();
List<Board> boards = await client.GetBoardsForMemberAsync(trelloMember.Id);
or the easier way in that API
TrelloDotNet.TrelloClient client = new TrelloDotNet.TrelloClient("apiKey", "token");
var myBoards = await client.GetBoardsCurrentTokenCanAccessAsync();
If things also fail there, the fix properly needs to come from the Trello team directly (corrupt user perhaps)
If not, a fix is a bit more tricky as Manatee.Trello seems to not really be maintained anymore ☹️
...so getting the source-code and fixing yourself (+ send PR if anyone can approve) might be the only way forward to getting this fixed in Manatee.Trello 😔
This is indeed likely an issue with this library.
https://github.com/cdmdotnet/Manatee.Trello/blob/master/Manatee.Trello/ActionType.cs#L342
Action and notification types are "enumerated." I did this thinking strong typing would be better, but in hindsight I think a simple string would have sufficed.
It seems this is an action or notification type that Trello is now emitting that it didn't before. It will need to be added in order to get this working.
Hi. I created the lib and, after archiving it myself, I transferred it to the current owner at their request. I expected that they'd pick up development. Sadly, it seems they've decided to let it languish, but I can't speak to why.
OK, Lets hope someone is around to fix/accept a PR then 🤞