Help us understand the problem. What is going on with this article?

BufferのAPI変更(?)によるMicrosoft Flowの対応

More than 1 year has passed since last update.

先日BufferのAPIが変更(?)されて、Microsoft Flow上から接続をやり直す必要が発生しました。

その頃からか、Twitterに長すぎる文字列を投稿しようとすると、Bufferが「Hmm, it looks like the message is too long for Twitter.」というエラーを返すようになりました。前は向こうで勝手に文字数を切ってくれていたのか、それとも実は昔からこうだったのかは不明です。

Flowでの文字の切り取り

というわけで本題。Microsoft Flowで「文字数が長くなったときは一定文字数まで文字を切り詰める」という処理を実装します。今回は仮に、90文字としました(記事タイトル最大37文字+投稿文最大90文字+省略記号1文字+URL11.5文字という計算)。

切り取りしたい文字列は、事前に変数「投稿文」に格納済みとします。

if(greater(length(variables('投稿文')), 90), concat(take(variables('投稿文'), 90), '…'), variables('投稿文'))

Microsoft Flowには、「文字列を前半からn文字切り取る」というtake関数があるので、それを使います。他のプログラム言語などと違って、>で比較をすることはできず、greaterという関数を使う必要があるので注意。

TakamiChie
NPO法人 まちづくりエージェント SIDE BEACH CITY.理事。フリーランスのプログラマ。横浜・横須賀でIT勉強会の主催などをやってます。
https://onpu-tamago.net/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした