Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flickr-sdk

Package Overview
Dependencies
Maintainers
3
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flickr-sdk

Almost certainly the best Flickr API client in the world for node and the browser

  • 7.0.0-beta.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.2K
increased by1.96%
Maintainers
3
Weekly downloads
 
Created
Source

flickr-sdk

Almost certainly the best Flickr API client in the world for node and the browser

This SDK provides methods and type definitions for all methods listed on https://www.flickr.com/services/api/

To use this SDK, sign up for an API key here

install

$ npm install flickr-sdk

quickstart

Make a Flickr API call
import { createFlickr } from "flickr-sdk"

const { flickr } = createFlickr("<your Flickr API key>")

const res = await flickr("flickr.photos.getInfo", {
    photo_id: '12345',
})
Upload a photo
import { createFlickr } from "flickr-sdk"
import { resolve } from "node:path"

const { upload } = createFlickr({
    consumerKey: "<your API key>",
    consumerSecret: "<your API secret>",
    oauthToken: "<the oauth token>",
    oauthTokenSecret: "<the oauth token secret>",
})

const id = await upload(resolve("example.png"), {
    title: "Works on MY machine!",
})

auth

The Flickr SDK currently supports the following auth methods:

API Key

This is the simplest way to use the SDK. Just provide your API key as a string:

const { flickr } = createFlickr("<your API key>")
OAuth 1.0

OAuth lets users grant your application access and then you may act on their behalf. The OAuth flow is described here.

const { upload } = createFlickr({
    consumerKey: "<your API key>",
    consumerSecret: "<your API secret>",
    oauthToken: "<the oauth token>",
    oauthTokenSecret: "<the oauth token secret>",
})

💡 Use examples/oauth.mjs to quickly set up an OAuth flow and obtain a set of credentials

migrating from previous versions

Previous versions of this SDK depended on superagent for http requests. This version of the SDK uses node's native fetch instead, so you now only receive the response body back from an API call. This means the return value of an API call will only be the response body, not a superagent Request

Migrating existing code looks like this:

//  old
const res = await flickr.test.login()
console.log(res.body)

// new
const body = await flickr('flickr.test.login', {})
console.log(body)

advanced

configuring fetch
import { createFlickr, FetchTransport } from 'flickr-sdk'

const transport = new FetchTransport({
    headers: {
        'user-agent': 'foo',
    }
})

const { flickr } = createFlickr('<your API key>', transport)
testing
import { createFlickr, MockTransport, NullAuth } from 'flickr-sdk'
import * as assert from 'node:assert'

// mock transport returns the response you pass in the constructor
const transport = new MockTransport({
    stat: 'ok',
    foo: 'bar'
})

// null auth does nothing
const auth = NullAuth()

const { flickr } = createFlickr(auth, transport)

// makes no network request
const res = await flickr('flickr.photos.getInfo', {
    photo_id: '12345',
})

assert.deepStrictEqual(res, { stat: 'ok', foo: 'bar' })

Keywords

FAQs

Package last updated on 09 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc