All Projects → shrayasr → pinboard.net

shrayasr / pinboard.net

Licence: MIT license
Fully featured API wrapper for pinboard.in

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to pinboard.net

Instagram api gem
A Ruby wrapper for the Instagram API
Stars: ✭ 100 (+376.19%)
Mutual labels:  api-client, api-wrapper
Virustotal Api
Virus Total Public/Private/Intel API
Stars: ✭ 189 (+800%)
Mutual labels:  api-client, api-wrapper
Anyapi
AnyAPI is a library that helps you to write any API wrappers with ease and in pythonic way.
Stars: ✭ 126 (+500%)
Mutual labels:  api-client, api-wrapper
Github
Ruby interface to GitHub API
Stars: ✭ 1,081 (+5047.62%)
Mutual labels:  api-client, api-wrapper
Notion Api
Unofficial Notion.so API
Stars: ✭ 250 (+1090.48%)
Mutual labels:  api-client, api-wrapper
Avenue
Wrapper around URLSession and URLSessionTask to enable seamless integration with Operation / OperationQueue.
Stars: ✭ 58 (+176.19%)
Mutual labels:  api-client, api-wrapper
Coingecko Api
A Node.js wrapper for the CoinGecko API with no dependencies.
Stars: ✭ 159 (+657.14%)
Mutual labels:  api-client, api-wrapper
Slack
🎉✨ Slack API client for Node and browsers.
Stars: ✭ 903 (+4200%)
Mutual labels:  api-client, api-wrapper
rdfp
This R package connects the DoubleClick for Publishers API from R
Stars: ✭ 16 (-23.81%)
Mutual labels:  api-client, api-wrapper
Binance
A .NET Standard Binance API library.
Stars: ✭ 199 (+847.62%)
Mutual labels:  api-client, api-wrapper
Wikipedir
R's MediaWiki API client library
Stars: ✭ 54 (+157.14%)
Mutual labels:  api-client, api-wrapper
pinboard-bookmarks-to-chrome
A Chrome extension for displaying bookmarks from Pinboard in the Bookmarks Bar.
Stars: ✭ 20 (-4.76%)
Mutual labels:  pinboard, pinboard-api
Apipie
Transform api declaration to js object for frontend. Inspired by VueRouter, koa-middleware and axios.
Stars: ✭ 29 (+38.1%)
Mutual labels:  api-client, api-wrapper
Newsapi
A python wrapper for News API.
Stars: ✭ 71 (+238.1%)
Mutual labels:  api-client, api-wrapper
Groovehq
Ruby gem for GrooveHQ api
Stars: ✭ 22 (+4.76%)
Mutual labels:  api-client, api-wrapper
Mega.py
Python library for the https://mega.nz/ API.
Stars: ✭ 145 (+590.48%)
Mutual labels:  api-client, api-wrapper
Bitly
A Ruby wrapper for the bit.ly API
Stars: ✭ 435 (+1971.43%)
Mutual labels:  api-client, api-wrapper
Pizzly
The simplest, fastest way to integrate your app with an OAuth API 😋
Stars: ✭ 796 (+3690.48%)
Mutual labels:  api-client, api-wrapper
Discogs
A Ruby wrapper of the Discogs.com API
Stars: ✭ 195 (+828.57%)
Mutual labels:  api-client, api-wrapper
pincushion
An enhanced version of the Pinboard.in “Add Bookmark” page, which takes advantage of the capabilities of modern browsers
Stars: ✭ 24 (+14.29%)
Mutual labels:  pinboard, pinboard-api

Pinboard.net

A fully featured C# wrapper for the pinboard.in API.

Installation

PM> Install-Package pinboard.net

Since this is written atop .Net Standard 1.4, it will run on the following platforms:

  • .NET Core 1.0
  • .NET Framework 4.6.1
  • Mono 4.6
  • Xamarin.iOS 10.0
  • Xamarin.Android 7.0
  • Universal Windows Platform 10

Usage

To start, retrieve the Pinboard API Token from the password page on the website.

The class that starts it all is PinboardAPI. It implements IDisposable and is best used within an using block like so:

using (var pb = new PinboardAPI(apiToken))
{
  // ...
}

This internally creates and reuses one instance of HttpClient per instance of PinboardAPI.

The pb object can now be used to make calls to the Pinboard API

Posts

Update

Returns the most recent time a bookmark was added, updated or deleted. Use this before calling All to see if the data has changed since the last fetch.

pb.Posts.GetLastUpdate()

Add a bookmark

var bookmark = new Bookmark
{
  Url = "http://linkur.co.in",
  Description = "Bookmarking for groups!",
  Extended = "",
  Tags = new List<string> { "bookmarking", "web", "tools" },
  dt = DateTime.Now,
  Shared = true,
  ToRead = false
};

pb.Posts.Add(bookmark);

Update a bookmark

// Get the bookmark first
var bookmark = pb.Posts.All().FirstOrDefault();

bookmark.Extended = "Nothing does group bookmarking better";
bookmark.Tags.Add("free");

pb.Posts.Update(bookmark)

Delete a bookmark

pb.Posts.Delete("http://linkur.co.in");

Get posts matching parameters

Returns one or more posts on a single day matching the arguments. If no date or url is given, date of most recent bookmark will be used.

It can be filtered by:

  • Tags
  • Date
  • URL
pb.Posts.Get();

Get recent bookmarks

Returns a list of the user's most recent posts, filtered by tag.

pb.Posts.Recent(tags: new List<string> { "programming", "dotnet" });

Get all bookmarks

Returns all bookmarks in the user's account.

It can be filtered by:

  • Tags
  • Offset
  • Number of results
  • From date
  • To date
pb.Posts.All()

Tags

Get all tags

This also returns the number of times each tag has been used

pb.Tags.Get()

Get suggested tags for a URL

pb.Posts.Suggest("https://linkur.co.in")

Delete a tag

pb.Tags.Delete("prugramming");

Rename a tag

pb.Tags.Rename("pithon", "python");

Users

Get secret

Returns the user's secret RSS key (for viewing private feeds)

pb.Users.Secret()

Get API Token

Returns the user's API token (for making API calls without a password)

pb.Users.ApiToken()

Notes

Get all notes

pb.Notes.List()

Get details of a single note

pb.Notes.Note("foobar")
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].