如何通过 Azure 上传小文件 API 在 Yammer API 上上传文件

2023-12-01

如何随 Yammer 消息一起上传附件?

任何遗留方法通过attachment1等领域/messages.json端点将不再工作。

新方法没有很好的记录:https://developer.yammer.com/docs/upload-files-into-yammer-groups

我在下面给出了一个 PHP 示例,但您可以在任何语言中执行相同的操作。


你必须分两部分来做

  1. 首先将图片上传到https://filesng.yammer.com/v4/uploadSmallFile并获取图片的 id。
  2. 像往常一样将您的消息发送至https://www.yammer.com/api/v1/messages.json以及新获得的图片 ID。

注意:我将在这里使用Guzzle用于 REST 调用的库。

1.将图片发送到Azure云

protected function yammerFileUpload(string $file, string $filename): int
{
    $multipart = [
        [
            'name'      => 'network_id',
            'contents'  => $this->networkId,
        ],
        [
            'name'      => 'group_id',
            'contents'  => $this->groupId,
        ],
        [
            'name'      => 'target_type',
            'contents'  => 'GROUP',
        ],
        [
            'name'      => 'filename',
            'contents'  => $filename,
        ],
        [
            'name'      => 'file',
            'contents'  => $file,
            'filename'  => $filename,
            'headers'   => ['Content-Type' => 'image/jpeg']
        ],
    ];

    $client = new Client();

    $options = [
        'headers'       => [
            'Accept'        => 'application/json',
            'Authorization' => "Bearer $this->yammerToken",
        ],
        'multipart'     => $multipart,
    ];
  
    $response = $client->request('POST', 'https://filesng.yammer.com/v4/uploadSmallFile', $options);

    return \json_decode((string)$response->getBody(), true)['id'];
}

当然,您必须将类变量替换为您自己的变量。还有内容类型根据您的文件。

2. 发送您的信息

public function postMessage(string $message, string $file): array
{
    $fileId = $this->yammerFileUpload($file, 'my-file.jpg');

    $client = new Client();

    $options = [
        'headers'   => [
            'Accept'        => 'application/json',
            'Authorization' => "Bearer $this->token",
        ],
        'form_params' => [
            'body'               => $message,
            'group_id'           => $this->groupId,
            'attached_objects[]' => "uploaded_file:$fileId",
        ],
    ];

    $response = $client->request('POST', 'https://www.yammer.com/api/v1/messages.json', $options);

    return \json_decode((string)$response->getBody(), true);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Azure 上传小文件 API 在 Yammer API 上上传文件 的相关文章

  • 错误:SQLSTATE[HY000] [2002] 无法建立连接,因为目标计算机主动拒绝连接

    当我调试代码时突然发生错误 它有一系列关于数据库连接的错误 ERROR SQLSTATE HY000 2002 No connection could be made because the target machine actively
  • PHP runkit_function_rename 不起作用?

    这段代码不起作用 为什么不 我真正想要的是这个 我正在使用一个具有功能的系统 当我在本地主机上时 我希望该函数做一些不同的事情 我想用自己的东西覆盖该函数 也欢迎所有替代方案 您是否安装了 PECL 扩展 http www php net
  • PDF:在现有 PDF 文件中插入一行文本

    我有一个 PDF 文件 我希望在所有页面 前两页除外 的页脚上添加一行纯文本 不是徽标或类似内容 有谁有一个如何做到这一点的例子 用任何语言 Update 原始 PDF 是用 Scribus 制作的 我可以完全控制它 因此 如果更容易进行查
  • 如何对“2-1”这样的字符串进行数学计算以产生“1”?

    我只是想知道 PHP 是否有一个函数可以接受像这样的字符串2 1并产生它的算术结果 或者我必须手动执行此操作explode 获取算术运算符左侧和右侧的值 我知道这个问题很老了 但我昨晚在寻找不太相关的东西时遇到了它 而且这里的每个答案都很糟
  • 搜索数组中的最高键/索引

    我怎样才能得到highest key index在一个数组中php questions tagged php 我知道如何为价值观做这件事 例如 我想从这个数组中得到10 as an integer value arr array 1 gt
  • 如何在时事通讯中发送图像?

    谁能告诉我如何将图像作为时事通讯的主体部分发送 我如何从后端添加任何图像 以便当我向订阅者发送新闻通讯时 我想要显示的图像作为邮件的主体部分 实际上我想说的是 我有一个可以输入文本的表单 并且该文本在时事通讯中效果很好 现在我也想在表单中添
  • 如何在 WordPress 中添加 PHP 页面链接到我的页脚

    我创建了一个自定义 PHP 页面名称 privacy policy 名称为privacy php 我如何链接页脚中的页面 以便当有人点击隐私链接时页面打开 我已在此页面中调用页眉和页脚 这个怎么做 谢谢 In the wp content
  • Laravel 4 - JOIN - 相同的列名

    我目前使用此代码从数据库中检索所需的数据 query DB table packages gt join assigned packages function join use id join gt on packages id assig
  • 如何在我的网站上获取用户的国旗

    我想在我的网站上显示用户 访问者的国旗 我使用不同的技术 如 php jsp 和简单的 html 所以我想要一个代码 通过放置在我的网站上 访问者可以看到它 并且它应该在所有平台上运行 简而言之 我想要国家检测 API 如果有人能帮助我 我
  • 将 WordPress 的登录/注册页面重定向到自定义登录/注册页面

    我有一个网站 有一个用户系统 我想将 WordPress 的用户系统集成到该网站的用户系统中 但我仍然想使用该网站的注册 登录页面 我不希望任何人能够使用 Wordpress 的登录或注册表单登录或注册 相反 当他们尝试访问 Wordpre
  • PHPmailer 发送垃圾邮件

    我刚刚更新了联系表单以使用 PHPMailer 来阻止电子邮件被标记为垃圾邮件 但没有成功 我正在使用这是一个相当简单的设置 但它仍然会进入人们的垃圾邮件 这是我的脚本 我想知道是否有人能说出哪里出了问题 include once inc
  • Amazon ec2 无法在 ios 上发送推送通知

    我在 Amazon ec2 php 7 中使用以下 php 代码
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • PHP 编译器 openssl 错误

    在提问之前 我必须说我已经tried堆栈和其他地方的每个类似问题都失败了 我无法使用composer因为这个错误 requires ext openssl gt the requested PHP extension openssl is
  • 在 Symfony 中重定向之前访问调试(分析器)信息

    提交表单后 我通常将用户重定向到另一个页面 表单本身除外 因此我丢失了配置文件 调试信息 如日志 我的意思是 单击 调试工具栏 后 我会获得有关重定向后请求的信息 但我确实知道 Symfony 保留有关上一页的信息 我的意思是它不会忘记它
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust
  • php.ini 在哪里? [复制]

    这个问题在这里已经有答案了 我运行 phpinfo 它说它在 C Windows 中 但它不在那里 它不在 php 文件夹中 我系统搜索了一下 没有找到 它藏在哪里 运行此代码 我假设您的 php 正在运行 您无法仅找到 php ini 文
  • 如何使用 PHP 代码从服务器下载文件

    如何从任何服务器下载 PHP 代码文件 您可以使用 Curl 使用 php 从网络下载文件 function curl get file contents URL c curl init curl setopt c CURLOPT RETU
  • 使用 Javascript 编辑和保存用户 HTML - 安全性如何?

    例如我有一个Javascript 支持的表单创建工具 您可以使用链接添加元素的 html 块 如输入字段 并使用 TinyMCE 来编辑文本 这些是通过自动保存功能保存的 该功能在特定事件的后台执行 AJAX 调用 被调用的保存函数负责数据
  • 开发中的 Laravel 和视图缓存——无法立即看到变化

    我和一些朋友决定开始一个项目 我们偶然发现了 Laravel 并认为它可能是一个很好的工具 我们开始在本地使用它来开发一些页面 并注意到一些奇怪的事情 当我们用不同的信息更新视图时 大约需要 5 到 10 分钟视图信息才会发生变化 这就像

随机推荐

  • 作业 - 无法利用缓冲区溢出

    我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术 这是我的 C 程序 include
  • python-pptx:将图片插入内容占位符

    我正在使用 python pptx 0 6 0 并创建了一张包含内容和标题的幻灯片 我想将图片插入到内容占位符中 但没有诸如 add picture 或 insert picuture 之类的属性可供使用 如何将图片添加到此内容占位符中 谢
  • 使用 XSL 将所有元素名称转换为小写?

    在 XSL 中 如何在处理文档之前将文档中的所有元素名称转换为小写 我们正在使用 XSLT 2 0 并且我们已经尝试了以下方法 但它不起作用 a a
  • 向网格添加空行

    我正在尝试将行添加到我的网格中 我在文档中看到了一个例子 onAddRouteClick function Create a model instance var rec new KitchenSink model grid Plant b
  • 每次注销后 RVM 设置都会丢失

    我按照以下说明在 ubuntu 上使用 RVM 安装了 ruby rails 和 gemset http railstutorial org ruby on rails tutorial book sec rubygems 现在的问题是 每
  • 如何在android中用标记显示地图

    我正在开发 Android 应用程序 而且我在这方面完全是新手 所以我想知道如何在地图中显示标记以及如何在特定时间更改他的位置 例如定义线程或背景中的任何内容 这些内容将发送纬度和经度值并且标记在该位置上移动 如果您只想展示单个项目 Map
  • GCP Dataflow 2.0 PubSub 到 GCS

    我很难理解 TextIO write 的 withFileNamePolicy 的概念 对于像指定 GCS 存储桶来写入流式文件这样简单的事情来说 提供 FileNamePolicy 的要求似乎非常复杂 在较高级别上 我将 JSON 消息传
  • 如何运行依赖于 Android 库模块的单元测试?

    每当我尝试对应用程序模块中依赖于库模块中的类的类运行单元测试时 我都会得到以下信息 java lang NoClassDefFoundError de ivu junittest DummyData at de ivu junittest
  • 删除列表中某些连续的重复项

    我有一个这样的字符串列表 foo bar bar baz 我想更换 与单个 但离开 bar bar 完好无损的 IE 替换任意连续的数字 与一个 我当前的代码如下所示 p foo bar bar baz np p 0 for pi in r
  • 将 bash 变量作为模式传递给 awk

    我想知道如何通过bash variable as a pattern to awk 我读过几个问答 它们往往回答同一个问题 但是 它们都没有解决我的问题 可能 我错过了一些东西 我有几个这样的文件 1 9909 23121 1 23121
  • Cronjob 但适用于 jQuery/Javascript

    我正在尝试开发一个主要使用 PHP 的 Web 应用程序 但我正在使用 jQuery Javascript 从人们的 URL 中获取他们的推文 问题是想要运行 PHP cron 作业来获取已注册我的应用程序的人的最新推文 但我不知道如何用
  • Scip 与 Pyomo 接口的问题

    我正在尝试使用 Pyomo 解决非线性优化问题 首先 我尝试了 Ipopt 求解器 并且运行起来了 然后我想尝试一下求解器Scip由于 Ipopt 是局部求解器 因此尝试进行全局优化 但是 我在使用它时遇到了我无法理解的错误 让 Scip
  • SSIS 包将不再在 Visual Basic 中执行 - 而是通过“构建”

    我是一个超级初学者 使用 Visual Studio 2017 创建我的第一个 SSIS 包 此包打开一个平面文件 csv 并将其添加到 SQL 服务器上的表中 当我按下 开始 按钮 在 Visual Studio 中 时 SSIS 包可以
  • 相对位置的顶部未按预期工作

    为什么 top 属性不起作用 img 当标签 img 是兄弟姐妹 p 但是如果我删除标签 p p 这有效 html body height 100 img position relative top 40 p p Lorem ipsum d
  • 以编程方式将 ipython 笔记本保存为脚本

    优秀的ipython笔记本有一个方便的 script命令行标志自动将笔记本的副本保存为 py脚本文件 删除任何标题和 Markdown 单元格 有没有办法在笔记本打开后从笔记本内部打开此功能 显然 此选项无法访问 config magic
  • 使用jna消费按键事件

    在我正在编写的应用程序之一中 我需要使用某些关键事件 以便其他应用程序不处理它们 在我的代码中 我创建了一个 com sun jna platform win32 WinUser LowLevelKeyboardProc 如下所示 impo
  • 在 Java 中从键盘读取 double

    如何在 Java 中从键盘读取双精度变量 我正在尝试解决这个问题 但没有成功 它说 线程 main 中的异常 java util InputMismatchException 在 java util Scanner throwFor Sca
  • 正则表达式重复字符计数

    如果我有一组像 abcdefghij 这样的字符并使用这些字符 我会使用这些字符随机生成一个密码 例如 生成的密码可以有 6 个字符 如何使用正则表达式验证密码 以使相邻字符不相同并且字符不会重复两次以上 你可以使用类似的东西 1 neig
  • 我可以在 C# 项目上使用 .rc 资源文件吗?

    我有一个 C 解决方案 我需要更新资源文件中的版本 resx 文件是 xml 文件 我已经在 C 资源文件 不是 xml 文件 中完成了它 我想知道是否可以使用类似的东西在我的 C 项目中 您无法直接从 Visual Studio 执行此操
  • 如何通过 Azure 上传小文件 API 在 Yammer API 上上传文件

    如何随 Yammer 消息一起上传附件 任何遗留方法通过attachment1等领域 messages json端点将不再工作 新方法没有很好的记录 https developer yammer com docs upload files