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...) |
|||
| 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== | ||
Revision as of 21:29, 27 May 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