Я использую твиттер-библиотеку Мэтта Харриса https://github.com/themattharris/tmhOAuth и следую изображению загрузить пример.
Я получаю ноль, возвращаемый при попытке опубликовать изображение без возврата $tmhOAuth->response['response'].
Шаги, которые я пробовал
- Запуск примера как есть - не удается
- Запуск проверки ssl - работает нормально
- Запуск обновления статуса без изображения - оно публикуется правильно, как и ожидалось.
- замена URL-адреса с 1 на 1.1 - ничего не меняется, библиотека по-прежнему возвращает ноль
Он работает довольно быстро, что означает, что он даже не пытается опубликовать изображение.
Любые идеи о том, почему это не работает или что-то, что мне нужно настроить на сервере
Ниже приведен код, который я скопировал из примера, чтобы попробовать.
<?php
// testing hmac works- correctly
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
$tmhOAuth = array( 'consumer_key' => 'removed',
'consumer_secret' => 'removed',
'user_token' => 'removed',
'user_secret' => 'removed');
// array(
// 'consumer_key' => 'YOUR_CONSUMER_KEY',
// 'consumer_secret' => 'YOUR_CONSUMER_SECRET',
// 'user_token' => 'A_USER_TOKEN',
// 'user_secret' => 'A_USER_SECRET',
// )
require 'tmhOAuth.php';
require 'tmhUtilities.php';
$tmhOAuth = new tmhOAuth($tmhOAuth);
// we're using a hardcoded image path here. You can easily replace this with
// an uploaded image - see images.php in the examples folder for how to do this
// 'image = "@{$_FILES['image']['tmp_name']};type={$_FILES['image']['type']};filename={$_FILES['image']['name']}",
// this is the jpeg file to upload. It should be in the same directory as this file.
$image = 'image.png';
$code = $tmhOAuth->request(
'POST',
'https://upload.twitter.com/1.1/statuses/update_with_media.json',
array(
'media[]' => "@{$image};type=image/jpeg;filename={$image}",
'status' => 'Picture time',
),
true, // use auth
true // multipart
);
if ($code == 200) {
tmhUtilities::pr(json_decode($tmhOAuth->response['response']));
} else {
tmhUtilities::pr($tmhOAuth->response['response']);
}
?>