首页 文章

Twitter - 使用API上传图像并获取URL

提问于
浏览
1

我正在创建一个用户可以点击的Twitter分享按钮,但我也想将图像附加到推文上 .

我正在使用API将图像上传到Twitter,因此可以使用媒体ID .

有没有办法从这个ID获取URL,以便我可以将它附加到Twitter Intent链接?

或者,我是否只能将此媒体ID与API一起使用,以便为经过身份验证的用户发布推文?

我试图将Twitter托管的图像附加到共享按钮,以便任何人都可以将其发布到他们的Twitter订阅源

1 回答

  • 1

    在将图像附加到推文之前,您需要先将图像上传到twitter . 我认为您已经使用 endpoints 媒体/上传进行此操作

    参考:

    https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-upload

    完成此操作后,使用参数“status”和“media_ids”向 endpoints 状态/ update发出另一个POST请求 . Twitter期望以逗号分隔的media_ids列表 . 您已在媒体/上传 endpoints 返回的对象中使用此功能 .

    参考:

    https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update

    上述调用中返回的对象具有在属性实体下上载的每个媒体的URL .

    这是我使用PHP和abrahamoauth库的方式的摘录 . $ connection是twitter连接对象 .

    $media = $connection->upload('media/upload', array('media' => $_FILES["tweet_image_file"]["tmp_name"]));
    $parameters = array(
                    'status' => '',
                    'media_ids' => implode(',', array($media->media_id_string)),
                );
    
    $result = $connection->post('statuses/update', $parameters);
    //$image_url = $result->entities->media[0]->media_url; //stopped working from July 2015
    $image_url = $result->entities->media[0]->url;
    

相关问题