インスタグラムのハッシュタグ投稿の取得でエラーはでないが結果が出力されない

実現したいこと

前提

Google Apps Scriptでinstagramのハッシュタグの投稿の情報とそのコメントを取得しようとしています。
一度はハッシュタグの投稿の情報を取得できたのですが、コメントを取得しようといろいろいじっていると、どちらもできなくなってしまいました。
Google Apps Scriptのことは昨日知ったばかりの無知なので、何が起こっているかまだ把握できていません(pythonをすこしやったことあるぐらいです)。

発生している問題

実行ログに下のように出てしまい、結果が出力されません。

13:12:21 お知らせ 実行開始 13:12:21 お知らせ 実行完了

該当のソースコード

Google

1const hashTagName = '検索したいハッシュタグ'; 2const instaBusinessId = 'インスタのビジネスID'; 3const accessToken = 'アクセストークン'; 4 5 6// InstagramAPIでハッシュタグIDを取得する 7function getIgHashId() { 8 try { 9 const url = `https://graph.facebook.com/v17.0/ig_hashtag_search?user_id=${instaBusinessId}&q=${hashTagName}&access_token=${accessToken}`; 10 const response = instagramApi(url, 'GET', '', accessToken); 11 12 const data = JSON.parse(response.getContentText()); 13 const hashTagId = data.data[0].id; 14 15 return hashTagId; 16 } catch (error) { 17 console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 18 return null; 19 } 20} 21 22 23// APIを叩く関数 24function instagramApi(url, method, payload, accessToken) { 25 try { 26 const headers = { 27 'Authorization': 'Bearer ' + accessToken 28 }; 29 const options = { 30 'method': method, 31 'headers': headers, 32 'payload': payload 33 }; 34 35 const response = UrlFetchApp.fetch(url, options); 36 return response; 37 } catch (error) { 38 console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 39 return null; 40 } 41} 42 43// 最近投稿を取得するAPIを叩く関数 44function searchTopHashTagPosts() { 45 // ハッシュタグIDを取得するAPIを叩く関数呼び出し 46 const hashTagId = getIgHashId(); 47 48 try { 49 const url = `https://graph.facebook.com/${hashTagId}/recent_media?user_id=${instaBusinessId}&fields=caption,comments{id,text,timestamp,username},comments_count,id,like_count,media_type,media_url,permalink,timestamp,children{media_url}&access_token=${accessToken}&limit=35`; 50 const response = instagramApi(url, 'GET', ''); 51 52 if (response.getResponseCode() !== 200) { 53 console.error('Instagram APIのリクエストが失敗しました:', response.getResponseCode()); 54 return null; 55 } 56 57 const data = JSON.parse(response.getContentText()); 58 const instagramMedia = data.data; 59 console.log(instagramMedia); //データ出力 60 61 return instagramMedia; 62 } catch (error) { 63 console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 64 return null; 65 } 66}

試したこと

最初に成功したコードは以下の通りです。これも後には結果が出力されなくなりました。

Google

1const hashTagName = '検索したいハッシュタグ'; 2const instaBusinessId = 'インスタのビジネスID'; 3const accessToken = 'アクセストークン'; 4 5// InstagramAPIでハッシュタグIDを取得する 6function getIgHashId() { 7 try { 8  const url = `https://graph.facebook.com/v17.0/ig_hashtag_search?user_id=${instaBusinessId}&q=${hashTagName}&access_token=${accessToken}`; 9  const response = instagramApi(url, 'GET', '', accessToken); 10 11  const data = JSON.parse(response.getContentText()); 12  const hashTagId = data.data[0].id; 13   14  return hashTagId; 15 } catch (error) { 16  console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 17  return null; 18 } 19} 20 21 22// APIを叩く関数 23function instagramApi(url, method, payload, accessToken) { 24 try { 25  const headers = { 26   'Authorization': 'Bearer ' + accessToken 27   }; 28  const options = { 29   'method': method, 30   'headers': headers, 31   'payload': payload 32  }; 33 34  const response = UrlFetchApp.fetch(url, options); 35  return response; 36 } catch (error) { 37  console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 38  return null; 39 } 40} 41 42// 最近投稿を取得するAPIを叩く関数 43function searchTopHashTagPosts() { 44 45 // ハッシュタグIDを取得するAPIを叩く関数呼び出し 46 const hashTagId = getIgHashId(); 47 48 try { 49  const url = `https://graph.facebook.com/${hashTagId}/recent_media?user_id=${instaBusinessId}&fields=caption,comments_count,id,like_count,media_type,media_url,permalink,timestamp,children%7Bmedia_url%7D&access_token=${accessToken}&limit=35`; 50  const response = instagramApi(url, 'GET', ''); 51 52  if (response.getResponseCode() !== 200) { 53   console.error('Instagram APIのリクエストが失敗しました:', response.getResponseCode()); 54   return null; 55  } 56 57 const data = JSON.parse(response.getContentText()); 58 const instagramMedia = data.data; 59 console.log(instagramMedia); //データ出力 60 61 return instagramMedia; 62 } catch (error) { 63  console.error('Instagram APIのリクエスト中にエラーが発生しました:', error); 64  return null; 65 } 66}

コメントを投稿

0 コメント