Если вам не нужно использовать imgur
, тогда я рекомендую попробовать yfrog
.
Пример
Извините, что у меня нет времени готовить C # пример, но вот PHP один: ( ссылка на источник )
<?php
/**
* This example demonstrates how to use OAuth credentials of your application to upload data to yfrog
* Usage: upload-to-yfrog-example.php <FILENAME-TO-UPLOAD>
*/
// TODO: PUT YOUR KEYS HERE
// your app's OAuth consumer & secret
define('OAUTH_CONSUMER_KEY', '');
define('OAUTH_CONSUMER_SECRET', '');
// your app user's token and secret, when twitter user granted access to your app
define('OAUTH_TOKEN_KEY', '');
define('OAUTH_TOKEN_SECRET', '');
// END OF TODO
// you can grab required file here:
// http://github.com/abraham/twitteroauth
require_once('OAuth.php');
// instantiating OAuth customer
$consumer = new OAuthConsumer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET);
// instantiating signer
$sha1_method = new OAuthSignatureMethod_HMAC_SHA1();
// user's token
$token = new OAuthConsumer(OAUTH_TOKEN_KEY, OAUTH_TOKEN_SECRET);
// signing URL
$url = 'https://twitter.com/account/verify_credentials.xml';
$request = OAuthRequest::from_consumer_and_token($consumer, $token, 'GET', $url, array());
$request->sign_request($sha1_method, $consumer, $token);
$url = $request->to_url();
// OK, URL is signed, we can pass it to yfrog API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://yfrog.com/api/upload');
$post = array
(
'username' => 'yfrogtests', // twitter's username
'verify_url' => $url, // signed URL
'media' => '@' . $argv[1], // filename
'auth' => 'oauth', // auth=oauth is mandatory to use verify_url method
'message' => 'see it live on yfrog' // message to be sent, will not be posted to twitter
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close ($ch);
echo $response;
// see http://twitter.com/yfrogtests
?>
Изменить:
Нормальный поток диктует, что
приложения отправляют токены запроса
oauth / авторизуйтесь в твиттере
реализация OAuth
Спецификация.
Сколько длится токен доступа?
У нас в настоящее время нет срока действия доступа
жетоны. Ваш токен доступа будет
недействителен, если пользователь явно отклоняет
ваше приложение из их настроек
или если администратор Twitter приостанавливает ваш
приложение. Если ваша заявка
приостановлено будет записка на вашем
Страница приложения, сообщающая, что она имеет
было приостановлено.
Источник: http://dev.twitter.com/doc
Вам необходимо иметь токен доступа, и чтобы его получить, пользователь должен сначала одобрить вашу заявку - иного пути нет.
Кроме того, количество обращений (запись), которое ваше приложение может иметь на 1 аккаунте, ограничено ~ 300 в день. Поэтому, если ваша программа не предназначена для 1-3 человек, вы будете нарушать этот предел. Мой вывод таков: Пользователь должен быть тем, кто обеспечивает аутентификацию.