将网页内容分享到 Instagram 故事

问题描述 投票:0回答:4

我正在开发一个网络应用程序,其中一些内容以文本形式生成(并且很快也将包括图像)。我想添加一个分享按钮,允许用户将此内容添加到他们的 Instagram 故事中。

所以流程将是:

  1. 用户在网站上执行某些操作
  2. 网站根据用户输入生成一些内容
  3. 用户点击“在 Instagram 上分享”并将其发布到他/她的故事中

有没有办法使用 Javascript 或 API 调用(例如直接从 HTML 调用 Twitter 共享选项)来执行此操作?

我在后端(Flask)使用Python,在前端使用JS

javascript python html api instagram
4个回答
17
投票

好吧,让这个变得简单。

在 Facebook 官方开发者页面上找到的直接答案是否定的。您无法触发 API 来创建 Instagram 故事,因为目前 API 仅支持“阅读模式”。

但就像生活中的大多数事情一样,你可以想办法解决。

您可以创建一个按钮,上面写着“在您的 Instagram 故事上分享”,它的作用如下:

  1. 触发后端的功能,创建您想要分享的内容的屏幕截图/图像或视频
  2. 将该内容发送给用户,使其成为他们在图库中的最后一个内容

更新

  1. 通过以下链接触发 Instagram 应用程序中打开的故事相机:instagram://story-camera。 (他们最后拥有的内容将是您发送的内容,并且将是他们发布故事时看到的第一件事)

第三点有更好的解决方案:

  1. 通过此链接触发“分享故事”功能:instagram-stories://share。此链接会将您直接重定向到编辑页面。如果您找到一种方法将编码的图像 URI 发布到标头中的此链接,则应该打开它。我已经阅读了不同的代码示例和文档(来自 instagram 开发页面),您可以将此内容作为背景(图像/视频)或贴纸共享。 Spotify 通过将图像作为贴纸发布来做了类似的事情。

不用说,当网站在手机中打开时,这将起作用,而不是在桌面浏览器中,因为在桌面上你无法发布故事。


2
投票

《纽约时报》已经这么做了。

在 iOS 中,它会生成一个 Instagram 故事,其中包含相应新闻文章的标题和标题。

为此,您需要按 iPhone 上的“分享”按钮,然后按“Instagram Stories”。

通过《纽约时报》iOS 应用程序自动生成 Instagram 故事

Twitter 也做了这个很长一段时间了。


0
投票

Instagram 最近发布了一项新功能,可在移动设备上启用此功能。请查看这篇文章了解详情。

快速总结,您可以使用

navigator.share
API 直接从网络共享图像到 Instagram,直接在 Instagram 中打开包含图像的帖子、故事或消息。


0
投票

函数 InstagramShare($url = null){

// Redirect User to Instagram for Authentication

if (!isset($_GET['code'])) {
    $authUrl = $this->getInstagramAuthUrl();
    return $this->redirect($authUrl);
}




// Handle the Redirect and Exchange Code for Access Token

$code = $_GET['code'];
$accessTokenData = $this->getAccessToken($code);
if (isset($accessTokenData['access_token'])) {



    $shortLivedToken = $accessTokenData['access_token'];
    $longLivedTokenData = $this->getLongLivedToken($shortLivedToken);
    if (isset($longLivedTokenData['access_token'])) {



        $longLivedToken = $longLivedTokenData['access_token'];
        $this->shareStory($longLivedToken, $url);
    } else {
        throw new \Exception('Failed to exchange short-lived token for long-lived token.');
    }



} 

否则{

    throw new \Exception('Failed to retrieve access token.');
}

}

© www.soinside.com 2019 - 2024. All rights reserved.