Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bertrandom/flickr-upload
A simple Flickr uploader using OAuth that supports files, streams, and buffers.
https://github.com/bertrandom/flickr-upload
Last synced: 23 days ago
JSON representation
A simple Flickr uploader using OAuth that supports files, streams, and buffers.
- Host: GitHub
- URL: https://github.com/bertrandom/flickr-upload
- Owner: bertrandom
- Created: 2015-01-16T00:57:15.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-22T18:00:50.000Z (almost 2 years ago)
- Last Synced: 2024-11-09T16:47:13.886Z (about 1 month ago)
- Language: JavaScript
- Size: 4.88 KB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://www.npmjs.com/package/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] [,callback])
photo can be a filepath, buffer, [request stream](https://github.com/request/request), or [readable stream](http://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options).
config supports the following options from the [Flickr Upload API](https://www.flickr.com/services/api/upload.api.html):
```
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