Tumblr API从HTML Canvas发布照片

时间:2011-11-03 18:26:06

标签: php html api canvas tumblr

我在尝试使用我的代码将HTML画布作为照片发布到Tumblr时遇到了一些问题。我正在使用PHP,服务器端的代码如下:

if(isset($_POST['postphoto']) and $_SESSION['loggedin']) {
    $title = $_POST['title'];
    $caption = $_POST['caption'];
    tags = $_POST['tags'];
    $imageData = $_POST['imageData'];
    $imageData = substr($imageData,strpos($imageData,",")+1);
    $imageData = str_replace(' ','+',$imageData);

    # Set access token
    $tumblr->set_token($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);

    $data = array();
    $data['post'] = array(
        'type'   => 'photo',
        'generator' => 'AppName',
        'data'    => $imageData,
        'name'   => $title,
        'caption' => $caption,
        'tags' => $tags
    );

    $response = $tumblr->fetch('http://www.tumblr.com/api/write', $data);

    if($response['successful']) {
        echo "Update successful!<br><br>";
    } else {
       echo "Update failed. {$response[body]}<br><br>";
    }
}

在JavaScript方面,我有以下内容:

var imgData = canvas.toDataURL("image/png");            
$("#imageData").val(imgData);

imageData的表单类型是隐藏的,所以我只需设置值。然后将整个表单发布到PHP端。我检查过并且值正确传递(我为TwitPic做了类似的事情,因为它只是接受了toDataURL值,但Tumblr给出了很多问题)。

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

可能是因为你在照片帖子上张贴了标题? 照片帖没有标题。如果删除'name' => $title,,请告诉我它是否有效。