Difference between revisions of "MediaFire"
From Christoph's Personal Wiki
(New page: '''MediaFire''' is a file hosting, file synchronization, and cloud storage service. ==MediaFire API== * Step #1: Create environment variables: $ MF_ENDPOINT="<nowiki>https://www.mediaf...) |
(→External links) |
||
(One intermediate revision by the same user not shown) | |||
Line 30: | Line 30: | ||
</pre> | </pre> | ||
− | * Grab your session token from the response above | + | * Grab your session token (144 alphanumeric string of characters; valid for 10 minutes) from the response above or set it like so: |
− | $ MF_TOKEN= | + | $ MF_TOKEN=`curl -s "${MF_ENDPOINT}/user/get_session_token.php?${MF_QUERY_PARAMS}&response_format=json"|\ |
+ | python -c 'import sys,json;data=json.loads(sys.stdin.read());print data["response"]["session_token"]'` | ||
* Get user's basic account information: | * Get user's basic account information: | ||
Line 79: | Line 80: | ||
$ echo 55834574848/1024^3 | bc -l # => storage_limit = 52 GB | $ echo 55834574848/1024^3 | bc -l # => storage_limit = 52 GB | ||
+ | |||
+ | * Get a [http://www.mediafire.com/developers/core_api/1.1/folder/#get_content list of folders] and associated details in your root directory: | ||
+ | |||
+ | $ curl -s "${MF_ENDPOINT}/folder/get_content.php?session_token=${MF_TOKEN}&content_type=folders&response_format=json" | python -mjson.tool | ||
+ | <pre> | ||
+ | # RESPONSE: | ||
+ | { | ||
+ | "response": { | ||
+ | "action": "folder/get_content", | ||
+ | "asynchronous": "no", | ||
+ | "current_api_version": "1.3", | ||
+ | "folder_content": { | ||
+ | "chunk_number": "1", | ||
+ | "chunk_size": "100", | ||
+ | "content_type": "folders", | ||
+ | "folders": [ | ||
+ | { | ||
+ | "created": "2014-02-01 16:30:44", | ||
+ | "description": "", | ||
+ | "dropbox_enabled": "no", | ||
+ | "file_count": "15", | ||
+ | "flag": "2", | ||
+ | "folder_count": "0", | ||
+ | "folderkey": "<REDACTED>", | ||
+ | "name": "foobar", | ||
+ | "privacy": "public", | ||
+ | "revision": "50" | ||
+ | } | ||
+ | ], | ||
+ | "more_chunks": "no" | ||
+ | }, | ||
+ | "result": "Success" | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
==External links== | ==External links== | ||
Line 85: | Line 121: | ||
[[Category:Technical and Specialized Skills]] | [[Category:Technical and Specialized Skills]] | ||
+ | [[Category:APIs]] |
Latest revision as of 22:09, 14 June 2015
MediaFire is a file hosting, file synchronization, and cloud storage service.
MediaFire API
- Step #1: Create environment variables:
$ MF_ENDPOINT="https://www.mediafire.com/api/1.3" $ MF_EMAIL=<YOUR_MEDIAFIRE_ACCOUNT_EMAIL> $ MF_PASSWORD=<YOUR_MEDIAFIRE_ACCOUNT_PASSWORD> $ MF_APP_ID=<YOUR_MEDIAFIRE_APPLICATION_ID> $ MF_API_KEY=<YOUR_MEDIAFIRE_API_KEY>
$ MF_SIGNATURE=`python -c "import hashlib;print(hashlib.sha1('${MF_EMAIL}${MF_PASSWORD}${MF_APP_ID}${MF_API_KEY}')).hexdigest()"`
$ MF_QUERY_PARAMS="email=${MF_EMAIL}&password=${MF_PASSWORD}&application_id=${MF_APP_ID}&signature=${MF_SIGNATURE}" $ curl -s "${MF_ENDPOINT}/user/get_session_token.php?${MF_QUERY_PARAMS}&response_format=json" |\ python -mjson.tool
# RESPONSE: { "response": { "action": "user/get_session_token", "current_api_version": "1.3", "ekey": "<REDACTED>", "pkey": "<REDACTED>", "result": "Success", "session_token": "<REDACTED>" } }
- Grab your session token (144 alphanumeric string of characters; valid for 10 minutes) from the response above or set it like so:
$ MF_TOKEN=`curl -s "${MF_ENDPOINT}/user/get_session_token.php?${MF_QUERY_PARAMS}&response_format=json"|\ python -c 'import sys,json;data=json.loads(sys.stdin.read());print data["response"]["session_token"]'`
- Get user's basic account information:
$ curl -s "${MF_ENDPOINT}/user/get_info.php?session_token=${MF_TOKEN}&response_format=json" | python -mjson.tool
# RESPONSE: { "response": { "action": "user/get_info", "current_api_version": "1.3", "result": "Success", "user_info": { "bandwidth": "0", "base_storage": "16106127360", "birth_date": "", "bonus_storage": "39728447488", "created": "2010-11-22", "display_name": "Bob Brown", "ekey": "<REDACTED>", "email": "bob@example.com", "facebook": { "linked": "no" }, "first_name": "Bob", "gender": "Male", "gmail": { "linked": "no" }, "last_name": "Brown", "location": "", "one_time_key_request_max_count": "10", "options": "0", "premium": "no", "storage_limit": "55834574848", "storage_limit_exceeded": "no", "tos_accepted": "", "twitter": { "linked": "no" }, "used_storage_size": "123456789", "validated": "yes", "website": "http://www.example.com" } } }
$ echo 55834574848/1024^3 | bc -l # => storage_limit = 52 GB
- Get a list of folders and associated details in your root directory:
$ curl -s "${MF_ENDPOINT}/folder/get_content.php?session_token=${MF_TOKEN}&content_type=folders&response_format=json" | python -mjson.tool
# RESPONSE: { "response": { "action": "folder/get_content", "asynchronous": "no", "current_api_version": "1.3", "folder_content": { "chunk_number": "1", "chunk_size": "100", "content_type": "folders", "folders": [ { "created": "2014-02-01 16:30:44", "description": "", "dropbox_enabled": "no", "file_count": "15", "flag": "2", "folder_count": "0", "folderkey": "<REDACTED>", "name": "foobar", "privacy": "public", "revision": "50" } ], "more_chunks": "no" }, "result": "Success" } }
External links
- Official website
- MediaFire Developers — includes API documentation