Instagram:分享网页上的照片

Akh*_*dar 53 javascript instagram

在我的购物网站上,我实现了"通过Instagram登录"的功能,发现它运行良好.现在可以将产品图像及其描述分享给用户Instagram帐户,或者Instagram是否提供任何javascript方法,如facebook,twitter,google +等.

谢谢..

Ste*_*ert 72

简短的回答是:不.发布图片的唯一方法是通过移动应用程序.

来自Instagram API文档:http: //instagram.com/developer/endpoints/media/

目前,无法通过API上传.我们有意识地选择不添加此内容,原因如下:

  • Instagram是关于你在旅途中的生活 - 我们希望鼓励应用程序内的照片.但是,将来我们可能会根据具体情况授予白名单访问个人应用程序的权限.
  • 我们想要打击垃圾邮件和低质量的照片.一旦我们允许从其他来源上传,就很难控制Instagram生态系统中的内容.

所有这些,我们正在努力确保用户在我们的平台上获得一致和高质量的体验.

  • 据我所知,仍然没有公开支持的端点上传否.我怀疑这种情况会不会发生变化,因为Instagram的兴趣在于让用户进入他们的专有应用程序.随着iOS中最新增加的"扩展",这将更加强调这一点. (3认同)

mco*_*ont 17

可以在Instagram上上传.他们的API提供了媒体上传端点,即使没有记录.

POST https://instagram.com/api/v1/media/upload/
Run Code Online (Sandbox Code Playgroud)

请查看此代码,例如https://code.google.com/p/twitubas/source/browse/common/instagram.php

  • 是的,但您可以使用PHP脚本并通过Javascript中的AJAX请求调用它. (7认同)
  • 值得注意的是,Instagram __不会授权使用该端点,因此为什么它没有文档,为什么他们明确声明上传只能通过他们的专有应用程序完成. (4认同)
  • 好的,但是没有办法用 Javascript 来做到这一点,所以对于提问者来说,使用服务器端解决方案是可以的。现在我们应该停止讨论 ;) (2认同)

小智 14

Instagram 最近发布了其原生分享功能的更新。它只能通过移动浏览器使用,此处的navigator.shareMDN 参考。

建议的实现是检查navigator.canShare并使用share本机共享urltextfiles。对于 Instagram,这files将是最有用的,正如您在下面的示例中看到的,您可以共享网络上的图像。这是完成此操作的示例代码。

  const shareImageAsset = async (): Promise<boolean> => {
    const filesArray = [
      new File([blobImageAsset], `${title}.png`, {
        type: 'image/png',
        lastModified: new Date().getTime(),
      }),
    ];
    const shareData = {
      title: `${title}`,
      files: filesArray,
    };

    if (navigator.canShare && navigator.canShare(shareData)) {
      await navigator.share(shareData);
    }
  };
Run Code Online (Sandbox Code Playgroud)

注意:blogImageAsset最初是png从远程获取的图像url并转换为blob如下所示:

  const response = await fetch(url.toString());
  const blob = await response.blob();
Run Code Online (Sandbox Code Playgroud)

保持标题、文件类型和原始图像类型对齐非常重要,否则将会失败。

它最终看起来像这样:

Instagram 原生分享

  • 嘿!当我尝试这样做时,点击 Instagram 会出现错误,您只能将多个视频/图像分享到 IG。你能只用一张图片来实现这个功能吗?这是我的测试站点:https://misha-test-site.tiiny.site/ 该共享确实适用于 Messenger、FB 等。 编辑:我尝试了另一个图像和不同的名称组合,你是对的,肯定是这样当您使用错误的图像名称时,就会出错。它确实对我有用,但由于某种原因它只会以卷轴形式共享.. (3认同)

Tom*_*ero 6

更新现在可以:

https://developers.facebook.com/docs/instagram-api/content-publishing

内容发布API是Instagram Graph API终结点的子集,可让您发布媒体对象。使用此API发布媒体对象是一个两步过程-首先创建一个媒体对象容器,然后将该容器发布到您的企业帐户上。

值得注意的是:“ Content Publishing API仅在Facebook Marketing Partners和Instagram Partners的封闭测试版中。我们目前不接受新申请人。” 来自/sf/answers/3477422791/

  • Content Publishing API仅在Facebook Marketing Partners和Instagram Partners的封闭测试版中。我们目前不接受新申请人。 (3认同)