如何将Manatee.trello与多个用户帐户使用



我一直在尝试以下来检索数据:

    void InitializeTrello()
    {
        TrelloConfiguration.Serializer = new ManateeSerializer();
        TrelloConfiguration.Deserializer = new ManateeSerializer();
        TrelloConfiguration.JsonFactory = new ManateeFactory();
        TrelloConfiguration.RestClientProvider = new Manatee.Trello.WebApi.WebApiClientProvider();
        TrelloConfiguration.ThrowOnTrelloError = true;
    }
    T DownloadDataFromTrello<T>(TrelloAccount account, Func<T> func)
    {
        TrelloConfiguration.Cache.Clear();
        TrelloAuthorization.Default.AppKey = account.AppKey;
        TrelloAuthorization.Default.UserToken = account.UserToken;
        T result = func();
        TrelloProcessor.Flush();
        return result;
    }

方法DownloadDataFromTrello使用不同的AppKeyUserToken参数称为几次。尽管在功能中调用TrelloConfiguration.Cache.Clear(),但我还是收到相同的数据。

我想使用库,而无需求助于卸载静态类并保留懒惰加载功能的肮脏技巧。有人知道如何正确地将此库与多个用户帐户使用?

所有实体构造函数都采用第二个参数:默认为 TrelloAuthorization.DefaultTrelloAuthorization。实体实例在其一生中使用此授权。

var customAuth = new TrelloAuthorization
{
    AppKey = "your app key",
    UserToken = "a user's token"
}
var card = new Card("card id", customAuth);

默认缓存仅将实体ID视为键作为List.Cards枚举的一部分下载)。如果您通过构造函数明确创建实体(如上所述),则将新实体添加到缓存中,但仅将第一个返回,因为它仅在ID上匹配。

要将auth视为键的匹配,我必须更新默认的缓存或公开auth,以便您可以编写自己的缓存并设置TrelloConfiguration.Cache属性。我不确定现在喜欢哪个。

使用自定义验证(可能与定期清除缓存结合使用)是您当前的最佳选择。请随时创建问题,或者在这里让我知道这是您想要的功能。

相关内容

  • 没有找到相关文章

最新更新