この記事を読むことによってALISへ自動投稿するときのアイキャッチの扱い方がわかります。ぜひ今後自動投稿をやりたいという方は参考にしてみてください。
先日、気軽にぺにょさんに課題を出してみたら、1週間頑張ってくれた。本当にありがたい。ちょっと彼のお時間を取ってしまってすまなかった。ぜひ、彼の記事に投げ銭してください。
彼のもつ自分で調べ切る能力は素晴らしいと感じました。やっぱり彼は尊敬すべき人だ。彼の疑問に回答していこう
ここには https://xxxx.xxxx.png という形式でeye_catch_url を入れる必要がある。
ただ、手動で行う場合は、画像をアップデートしてからそのアイキャッチを選択する手法を取れるのだけども
自動投稿の場合は下記の矛盾がある
1、ALISの画像投稿のAPIは特定の記事に対して画像をアップロードする仕様
2、でも自分の画像を使いたい記事はまだアップロードしていない
ではどうするか?
別にどの記事に画像が所属していてもあまり関係がない。どこにも関連性はみられないので問題ない。
# upload eyecatch
article_id = '3qQXNRq08RP4'
url = 'https://alis.to/api/me/articles/' + article_id + '/images'
image_path = './wordcloud.png'
image_data = open(image_path, "rb").read()
method = 'POST'headers = {
'Authorization': id_token,
'accept': 'application/json application/octet-stream',
'content-type': 'image/png',
# 'content-type': 'png', #image/が必要であったミス修正
}data ={
'article_image': base64.b64encode(image_data).decode('utf-8'),
}request = urllib.request.Request(url, json.dumps(data).encode(), method=method, headers=headers)
with urllib.request.urlopen(request) as response:
response_body = json.load(response)image_url = response_body['image_url']
# upload contents
url = 'https://alis.to/api/me/articles/' + artcle_id + '/drafts'
title = '日刊 ALISコメントランキング(' + str(nowx.month) + '/' + str(nowx.day) + ')'
eye_catch_url = image_url
overview = '毎日定時にALISのコメント多かった記事の抜粋をお届けします'with open('./alis_media.html') as f:
body = f.read()
method = 'POST'headers = {'Authorization': id_token}
data ={
'title': title,
'body': body,
'eye_catch_url': eye_catch_url,
'overview': overview
}request = urllib.request.Request(url, json.dumps(data).encode(), method=method, headers=headers)
with urllib.request.urlopen(request) as response:
response_body = json.load(response)
article_id = '3qQXNRq08RP4' この記事には何百個もの画像がアップロードされていることになる。多分、あまり関係ないけどねw。
画像を送るときはインターネットに送り出してあげる手続きが必要なの。これはALISの受け入れ先の要件もあるからALISの方に聞いてわかりました。説明書にはかいてなかったのでこちらも参考までに見ておいて
'article_image': base64.b64encode(image_data).decode('utf-8')
あとはぜひ読んで解読してくれると嬉しい。
わからなかったら聞いてください。
はてなに投稿する場合はもうちょっと簡単なようです。AWSにアクセスしてなんちゃらはなさそうです。ほんきで、はてなに投稿したい場合は、ググってみてください。人口が多いだけあって、いろんなコード例が世の中にあふれていました。
ぺにょさん
おつかれしおたーーーーー!