LoginSignup
0
0

More than 3 years have passed since last update.

【755】トークルームに投稿された画像を全てを取得するPHPプログラムの作成

Last updated at Posted at 2019-11-02

概要

スマートフォン向けアプリケーションソフト「755」のトークルームに投稿された画像と動画のサムネ画像を全て取得するPHPプログラムの作成

ソースコード

download_755_imagefile.php
<?php

// XXXの箇所は取得対象となるトークルームのtalkIdを指定
$url = "https://api.7gogo.jp/web/v2/talks/XXX/posts?talkId=XXX";

// 保存先のディレクトリを指定
$dir = XXXXX;

$postId = null;

// 画像URLから画像データをDL
function download($image_url, $image_file_name)
{
    echo "Downloading " . $image_file_name . "\n";
    $image_date = file_get_contents($image_url);
    file_put_contents($GLOBALS['dir'] . $image_file_name, $image_date);
}

// 保存ディレクトリが存在しない場合作成する
if (!file_exists($dir)) {
    mkdir($dir, 0777);
}

while (true) {
    if ($postId === null) {
        $json = file_get_contents($url);
    } else {
        $json = file_get_contents($url . "&targetId=" . $postId);
    }

    $arr = json_decode($json, true);

    foreach ($arr["data"] as $data) {
        $image_url = "";

        // 画像投稿の場合は画像URLを取得
        if ($data["post"]["postType"] === 7) {
            $image_url = $data["post"]["body"][0]["image"];
            $image_file_name = str_replace('/', '_', substr($image_url, 36));
            download($image_url, $image_file_name);

        // 動画投稿の場合はサムネ画像のURLを取得
        } elseif ($data["post"]["postType"] === 8) {
            $image_url = $data["post"]["body"][0]["thumbnailUrl"];
            $image_file_name
                = str_replace('/', '_', end(explode('thumbnail/', $image_url)));
            download($image_url, $image_file_name);
        }
    }

    $last_data = end($arr["data"]);
    if ($last_data["post"]["postId"] === 1) {
        break;
    } else {
        $postId = $last_data["post"]["postId"] - 1;
    }
}

talkIdについて

トークルームのURLから確認できます。
https://7gogo.jp/<この部分がtalkId>

実行イメージ

$ php download_755_imagefile.php
Downloading 20191101_10_7d_gf_j_o19201920p.jpg
Downloading 20191029_23_c4_4C_j_o19201440p.jpg
Downloading SFTxBwclpiEztl7beYMmBvNX_thumbnail.jpg
Downloading 20191018_21_f9_uB_j_o19201440p.jpg
Downloading 20191017_23_ae_dV_j_o19201440p.jpg
︙
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0