diff --git a/FeedlySharp/Endpoints/Entries.cs b/FeedlySharp/Endpoints/Entries.cs
index 2e4af91..12c0593 100644
--- a/FeedlySharp/Endpoints/Entries.cs
+++ b/FeedlySharp/Endpoints/Entries.cs
@@ -11,16 +11,30 @@ namespace FeedlySharp
{
public partial class FeedlyClient
{
+ ///
+ /// Gets the content of an entry.
+ ///
+ /// entries-endpoint (https://developer.feedly.com/v3/entries/#get-the-content-of-an-entry)
+ /// The entry id.
+ /// The cancellation token.
+ ///
public async Task GetEntry(string id, CancellationToken cancellationToken = default(CancellationToken))
{
- List entries = await Client.Request>(HttpMethod.Get, String.Format("v3/entries/{0}", WebUtility.UrlEncode(id)), null, false, true, cancellationToken);
+ List entries = await Client.Request>(HttpMethod.Get, String.Format("v3/entries/{0}", WebUtility.UrlEncode(id)), null, false, false, cancellationToken);
return entries != null && entries.Any() ? entries[0] : null;
}
+ ///
+ /// Gets the content of multiple entries.
+ ///
+ /// entries-endpoint (https://developer.feedly.com/v3/entries/#get-the-content-for-a-dynamic-list-of-entries)
+ /// The ids of the entries.
+ /// The cancellation token.
+ ///
public async Task> GetEntries(string[] ids, CancellationToken cancellationToken = default(CancellationToken))
{
- return await Client.Request>(HttpMethod.Post, "v3/entries/.mget", ids, true, true, cancellationToken);
+ return await Client.Request>(HttpMethod.Post, "v3/entries/.mget", ids, true, false, cancellationToken);
}
}
}
diff --git a/FeedlySharp/Endpoints/Feeds.cs b/FeedlySharp/Endpoints/Feeds.cs
index 9872b08..12fd603 100644
--- a/FeedlySharp/Endpoints/Feeds.cs
+++ b/FeedlySharp/Endpoints/Feeds.cs
@@ -11,6 +11,13 @@ namespace FeedlySharp
{
public partial class FeedlyClient
{
+ ///
+ /// Get the metadata about a specific feed.
+ ///
+ /// feeds-endpoint (https://developer.feedly.com/v3/feeds/#get-the-metadata-about-a-specific-feed)
+ /// The id of a the feed.
+ /// The cancellation token.
+ ///
public async Task GetFeed(string id, CancellationToken cancellationToken = default(CancellationToken))
{
id = id.StartsWith("feed/") ? id : "feed/" + id;
@@ -18,6 +25,13 @@ namespace FeedlySharp
}
+ ///
+ /// Get the metadata for a list of feeds.
+ ///
+ /// feeds-endpoint (https://developer.feedly.com/v3/feeds/#get-the-metadata-for-a-list-of-feeds)
+ /// The ids of the feeds.
+ /// The cancellation token.
+ ///
public async Task> GetFeeds(string[] ids, CancellationToken cancellationToken = default(CancellationToken))
{
ids = ids.Select(id => id.StartsWith("feed/") ? id : "feed/" + id).ToArray();
diff --git a/FeedlySharp/Endpoints/Markers.cs b/FeedlySharp/Endpoints/Markers.cs
index 797ed4d..915f0c4 100644
--- a/FeedlySharp/Endpoints/Markers.cs
+++ b/FeedlySharp/Endpoints/Markers.cs
@@ -12,6 +12,15 @@ namespace FeedlySharp
{
public partial class FeedlyClient
{
+ ///
+ /// Get the list of unread counts.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#get-the-list-of-unread-counts)
+ /// Let’s the server know if this is a background auto-refresh or not. In case of very high load on the service, the server can deny access to background requests and give priority to user facing operations.
+ /// Date used as a lower time limit, instead of the default 30 days
+ /// A user or system category can be passed to restrict the unread count response to feeds in this category.
+ /// The cancellation token.
+ ///
public async Task> GetMarkersUnreadCount(bool isAutoRefresh = false, DateTime? newerThan = null, string categoryId = null, CancellationToken cancellationToken = default(CancellationToken))
{
Dictionary parameters = new Dictionary();
@@ -32,43 +41,88 @@ namespace FeedlySharp
return (await Client.Request(HttpMethod.Get, "v3/markers/counts", parameters, false, true, cancellationToken)).List;
}
-
+ ///
+ /// Marks multiple entries as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-read)
+ /// The entry ids.
+ /// The cancellation token.
+ ///
public async Task MarkEntriesAsRead(string[] entryIds, CancellationToken cancellationToken = default(CancellationToken))
{
await Client.Request(HttpMethod.Post, "v3/markers", new { action = "markAsRead", entryIds = entryIds, type = "entries" }, true, true, cancellationToken);
return true;
}
+ ///
+ /// Marks an entry as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-read)
+ /// The entry id.
+ /// The cancellation token.
+ ///
public async Task MarkEntryAsRead(string entryId, CancellationToken cancellationToken = default(CancellationToken))
{
return await MarkEntriesAsRead(new string[] { entryId }, cancellationToken);
}
-
+ ///
+ /// Keep multiple entries as unread.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#keep-one-or-multiple-articles-as-unread)
+ /// The entry ids.
+ /// The cancellation token.
+ ///
public async Task KeepEntriesAsUnread(string[] entryIds, CancellationToken cancellationToken = default(CancellationToken))
{
await Client.Request(HttpMethod.Post, "v3/markers", new { action = "keepUnread", entryIds = entryIds, type = "entries" }, true, true, cancellationToken);
return true;
}
+ ///
+ /// Keep an entry as unread.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#keep-one-or-multiple-articles-as-unread)
+ /// The entry id.
+ /// The cancellation token.
+ ///
public async Task KeepEntryAsUnread(string entryId, CancellationToken cancellationToken = default(CancellationToken))
{
return await KeepEntriesAsUnread(new string[] { entryId }, cancellationToken);
}
-
+ ///
+ /// Mark multiple feeds as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-a-feed-as-read)
+ /// The feed ids.
+ /// The cancellation token.
+ ///
public async Task MarkFeedsAsRead(string[] feedIds, CancellationToken cancellationToken = default(CancellationToken))
{
await Client.Request(HttpMethod.Post, "v3/markers", new { action = "markAsRead", feedIds = feedIds, type = "feeds" }, true, true, cancellationToken);
return true;
}
+ ///
+ /// Mark a feed as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-a-feed-as-read)
+ /// The feed id.
+ /// The cancellation token.
+ ///
public async Task MarkFeedAsRead(string feedId, CancellationToken cancellationToken = default(CancellationToken))
{
return await MarkFeedsAsRead(new string[] { feedId }, cancellationToken);
}
-
+ ///
+ /// Mark multiple categories as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-a-category-as-read)
+ /// The category ids.
+ /// The cancellation token.
+ ///
public async Task MarkCategoriesAsRead(string[] categoryIds, CancellationToken cancellationToken = default(CancellationToken))
{
categoryIds = categoryIds.Select(x => ValueToResource("category", x, false)).ToArray();
@@ -76,36 +130,75 @@ namespace FeedlySharp
return true;
}
+ ///
+ /// Mark a category as read.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-a-category-as-read)
+ /// The category id.
+ /// The cancellation token.
+ ///
public async Task MarkCategoryAsRead(string categoryId, CancellationToken cancellationToken = default(CancellationToken))
{
return await MarkCategoriesAsRead(new string[] { categoryId }, cancellationToken);
}
-
+ ///
+ /// Marks multiple entries as saved.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-saved)
+ /// The entry ids.
+ /// The cancellation token.
+ ///
public async Task MarkEntriesAsSaved(string[] entryIds, CancellationToken cancellationToken = default(CancellationToken))
{
await Client.Request(HttpMethod.Post, "v3/markers", new { action = "markAsSaved", categoryIds = entryIds, type = "entries" }, true, true, cancellationToken);
return true;
}
+ ///
+ /// Marks an entriy as saved.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-saved)
+ /// The entry id.
+ /// The cancellation token.
+ ///
public async Task MarkEntryAsSaved(string entryId, CancellationToken cancellationToken = default(CancellationToken))
{
return await MarkEntriesAsSaved(new string[] { entryId }, cancellationToken);
}
-
+ ///
+ /// Marks multiple entries as unsaved.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-unsaved)
+ /// The entry ids.
+ /// The cancellation token.
+ ///
public async Task MarkEntriesAsUnsaved(string[] entryIds, CancellationToken cancellationToken = default(CancellationToken))
{
await Client.Request(HttpMethod.Post, "v3/markers", new { action = "markAsUnsaved", categoryIds = entryIds, type = "entries" }, true, true, cancellationToken);
return true;
}
+ ///
+ /// Marks an entry as unsaved.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-unsaved)
+ /// The entry id.
+ /// The cancellation token.
+ ///
public async Task MarkEntryAsUnsaved(string entryId, CancellationToken cancellationToken = default(CancellationToken))
{
return await MarkEntriesAsUnsaved(new string[] { entryId }, cancellationToken);
}
-
+ ///
+ /// Get the latest read operations.
+ ///
+ /// markers-endpoint (https://developer.feedly.com/v3/markers/#get-the-latest-read-operations-to-sync-local-cache)
+ /// Date from where to fetch the data. Default is 30 days.
+ /// The cancellation token.
+ ///
public async Task GetMarkersReadOperations(DateTime newerThan, CancellationToken cancellationToken = default(CancellationToken))
{
return await Client.Request(HttpMethod.Get, "v3/markers/reads", new Dictionary()