#1.前提
Instagram APIのビジネスIDとアクセストークンを持っていること
#2.概要
GoogleAppsScriptでInstagram APIを使い、ハッシュタグの投稿のリンクを取得すること
#3.やること1
ハッシュタグ名、取得数、最近の投稿か、人気の投稿かを決める
取り合いずハッシュタグ名は、「猫」、取得数は「10」で最近の投稿にする
function sample0(){
// 取得するハッシュタグ名
var query = "猫";
// 取得する数
var count = 10;
// 最近やつを取得なら1、トップページなら0
var flag_m = 1;
// 投稿IDと投稿先のリンクをコンソールに出力する
console.log(sample1(flag_m,query,count))
}
#4.やること2
api_idにビジネスIDを入れる
api_tokenにアクセストークンを入れる
function sample1(flag_m,query,count) {
var api_id = "";
var api_token = "";
// ハッシュタグ名をハッシュタグIDに変換する
var hash_id = sample3(query,api_id,api_token);
// ハッシュタグIDで対象の投稿を取得する
var list_t = sample2(hash_id,api_id,api_token,flag_m,count);
// 取得数分だけ返す
return list_t.slice(0,count);
}
#4.やること3
データをスクレイピングしてjsonでハッシュタグIDを返す
function sample3(query,api_id,api_token) {
var URL = "https://graph.facebook.com/ig_hashtag_search?user_id="+ api_id +"&q="+ query +"&access_token="+ api_token;
var response = UrlFetchApp.fetch(URL);
var json = JSON.parse(response.getContentText());
return json["data"][0]["id"];
}
#4.やること4
データをスクレイピングしてjsonで取得したデータを整形する
function sample2(hash_id,api_id,api_token,flag_m,count) {
var c = 0;
var URL = "";
var Next_URL = "";
var response = "";
var json = "";
var list_re = [];
if(flag_m < 1){
URL = "https://graph.facebook.com/v12.0/"+ hash_id +"/top_media?user_id="+ api_id +"&fields=permalink,media_url&access_token="+ api_token;
}else{
URL = "https://graph.facebook.com/v12.0/"+ hash_id +"/recent_media?user_id="+ api_id +"&fields=permalink,media_url&access_token="+ api_token;
}
while(c < count){
if(Next_URL == ""){
response = UrlFetchApp.fetch(URL);
json = JSON.parse(response.getContentText());
}else{
response = UrlFetchApp.fetch(Next_URL);
json = JSON.parse(response.getContentText());
}
for(let i = 0; i < json["data"].length; i++){
list_re.push([json["data"][i]["id"],json["data"][i]["permalink"]]);
}
c += json["data"].length;
Next_URL = json["paging"]["next"];
}
return list_re;
}
上で記載したファンクションをGoogleAppsScriptのエディタ内に入れて
sample0を実行したらコンソールにURLとIDが出力される