1.0.2 • Published 1 year ago

flickr-upload v1.0.2

Weekly downloads
111
License
MIT
Repository
github
Last release
1 year ago

flickr-upload

A simple Flickr uploader using OAuth that supports files, streams, and buffers.

install

npm install flickr-upload

oauth credentials

OAuth tokens with "write" access are required to use flickr-upload, but flickr-upload does not handle getting them. If you use Google Chrome, you can easily generate them with flickr-oauth-dance.

usage

This shows the basic usage of flickr-upload:

var flickr = require('flickr-upload')({
	consumer_key: "3eda09cb562caa5859dcbf6062ca9b7d",
	consumer_secret: "b8f5c7f9d37a7e65",
	token: "72157649904431428-4cb322030200ac38",
	token_secret: "bbd90fb171b1c946"
});

flickr.upload('./test.jpg', function(err, photoId) {

	if (err) {
		console.error(err);
		return;
	}

	console.log(photoId);

});

config

When requiring the library, pass in your OAuth configuration. The keys are:

{
	consumer_key: "3eda09cb562caa5859dcbf6062ca9b7d",
	consumer_secret: "b8f5c7f9d37a7e65",
	token: "72157649904431428-4cb322030200ac38",
	token_secret: "bbd90fb171b1c946"
}

It also supports an alternative config in the format generated by flickr-oauth-dance:

{
	"api_key": "3eda09cb562caa5859dcbf6062ca9b7d",
	"api_secret": "b8f5c7f9d37a7e65",
	"access_token": "72157649904431428-4cb322030200ac38",
	"access_token_secret": "bbd90fb171b1c946"
}

upload

flickr.upload(photo ,config)

photo can be a filepath, buffer, request stream, or readable stream.

config supports the following options from the Flickr Upload API:

title
description
tags
is_public, is_friend, is_family
safety_level
content_type
hidden

If you're uploading a buffer, you can define a filename and contentType, otherwise it will try to automatically generate these from the buffer contents and use a generic filename like photo.jpg.

The callback function has the arguments (err, photoId).

examples

basic filepath

flickr.upload('./test.jpg');

buffer

var fs = require('fs');
flickr.upload(fs.readFileSync('./test.jpg'));

request stream

var request = require('request');
flickr.upload(request('https://farm9.staticflickr.com/8623/16015386389_872d309a89_z.jpg'));

Don't use the filename from the stream:

var request = require('request');
flickr.upload(request('https://farm9.staticflickr.com/8623/16015386389_872d309a89_z.jpg'), {strip_filename: true});

readable stream

var fs = require('fs');
flickr.upload(fs.createReadStream('./test.jpg'));

setting a title

flickr.upload('./test.jpg', {title: 'Test'});

uploading as private

flickr.upload('./test.jpg', {is_public: 0});

license

MIT