【发布时间】:2016-05-04 20:51:28
【问题描述】:
我一直在尝试使用 PHP 和 twitteroauth.php 将带有简单消息的图像发布到 twitter 上。
但是,每次我运行我的代码时,我只会在 twitter 提要上发布$tweetMessage,而没有任何图像。
我搜索并搜索并阅读了他们自己的文档,但甚至没有让我开始阅读他们自己的文档!这就像一个梦游的人正在写他们的文档。只是一堆行话..
而且大部分关于 STO 的信息要么已经过时,要么指向某个库!
我不想使用任何库,因为我也必须尝试学习其他人的代码,而且 Twitter 肯定会允许在不使用任何第三方库的情况下使用他们自己的 API 发布照片?!
无论如何,这是我的完整代码:
// Include twitteroauth
require_once('inc/twitteroauth.php');
// Set keys
$consumerKey = 'xxxxxxxxxxxxxxxxxxx';
$consumerSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$accessToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$accessTokenSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// Create object
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
// Set status message
$tweetMessage = 'This is a tweet to my Twitter account via PHP.';
$image_path="https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png";
$handle = fopen($image_path,'rb');
$image = fread($handle,filesize($image_path));
fclose($handle);
// Check for 140 characters
if(strlen($tweetMessage) <= 140)
{
// Post the status message
$tweet->post('statuses/update', array('media[]' => "{$image};type=image/jpeg;filename={$image_path}", 'status' => $tweetMessage));
}
有人可以就这个问题提出建议吗?
提前致谢。
编辑:
我已将代码更改为以下内容,但出现此错误:
{"errors":[{"code":195,"message":"Missing or invalid url parameter."}]}
但我确定图片在指定的 URL/目录上!
这是代码:
require_once 'inc/twitteroauth.php';
define("CONSUMER_KEY", "xxxxxxxxxxxxxxxxx");
define("CONSUMER_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxx");
define("OAUTH_TOKEN", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
define("OAUTH_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
$content = $connection->get('images/sign-in-with-twitter-l.png');
$image = 'images/sign-in-with-twitter-l.png';
$status_message = 'Attaching an image to a tweet';
$status = $connection->post('statuses/update_with_media', array('status' => $status_message, 'media[]' => file_get_contents($image)));
echo json_encode($status);
知道为什么会显示此错误吗?
【问题讨论】: