【问题标题】:Twitter - Upload Image Using API and Get URLTwitter - 使用 API 上传图片并获取 URL
【发布时间】:2018-07-19 22:30:52
【问题描述】:

我正在创建一个用户可以点击的 Twitter 分享按钮,但我还想在推文中附加一张图片。

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

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

或者我能否仅使用此媒体 ID 和 API 为经过身份验证的用户发布推文?

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

【问题讨论】:

    标签: twitter


    【解决方案1】:

    在将图片附加到推文之前,您需要先将图片上传到推特。我认为您已经在使用端点媒体/上传来执行此操作

    参考:

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

    完成后,使用参数“status”和“media_ids”向端点状态/更新发出另一个 POST 请求。 Twitter 需要一个以逗号分隔的 media_id 列表。您已经在媒体/上传端点返回的对象中拥有它。

    参考:

    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;
    

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 2015-11-05
      • 1970-01-01
      • 2017-12-12
      • 2014-05-18
      • 2017-06-02
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      相关资源
      最近更新 更多