Php Instagram API-如何查看最后一页最后一条记录?
我第一次使用Instagram API,也第一次使用社交媒体API,所以我对如何调用和读取API中的数据有非常基本的了解。所以我创建了一个递归函数来调用下一页并读取数据。现在我在我的Php Instagram API-如何查看最后一页最后一条记录?,php,api,recursion,instagram,instagram-api,Php,Api,Recursion,Instagram,Instagram Api,我第一次使用Instagram API,也第一次使用社交媒体API,所以我对如何调用和读取API中的数据有非常基本的了解。所以我创建了一个递归函数来调用下一页并读取数据。现在我在我的instagram数据库表的下一页中存储每篇帖子的媒体ID、评论数、喜欢数。现在,当API到达最后一页并将所有记录插入instagram表时,我想将另一条记录插入我的时间表表。我正在下面添加我的代码,如果有人指导我使代码更合适,我会很高兴:) 我的代码工作: 公共函数用户($next=null){ 全局$TotalH
instagram
数据库表的下一页中存储每篇帖子的媒体ID、评论数、喜欢数。现在,当API到达最后一页并将所有记录插入instagram
表时,我想将另一条记录插入我的时间表
表。我正在下面添加我的代码,如果有人指导我使代码更合适,我会很高兴:)
我的代码工作:
公共函数用户($next=null){
全局$TotalHashTagPosts;//总的hashtag post计数
全局$CommentsSum;//注释总数
全局$LikesSum;//喜欢的总数
$AccessToken=访问令牌;
$url=”https://api.instagram.com/v1/users/481959735/media/recent/?access_token=“$AccessToken;
如果($url!==null){
$url.='&max_tag_id='.$next;
}
$Ch=curl_init();
curl_setopt($Ch,CURLOPT_URL,$URL);
curl_setopt($Ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($Ch,CURLOPT_超时,20);
curl_setopt($Ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($Ch,CURLOPT_SSL_VERIFYPEER,0);
$Result=curl\u exec($Ch);
卷曲关闭($Ch);
$Result=json_解码($Result);
如果(设置($Result->data)){
$Data=$Result->Data;
对于($i=0;$ilikes->count;//每个媒体的总喜欢次数
$CommentsSum=$Data[$i]->comments->count;//获取每个媒体的评论总数
$InstagramId=$Data[$i]->user->id;//获取媒体instagrammer id
$MediaId=$Data[$i]->id;//获取媒体id
$data=数组(
“instagram_id”=>InstagramId美元,
'media_id'=>$media id,
“评论数”=>$CommentsSum,
'likes_count'=>LikesSum美元,
“创建日期”=>日期(日期为24),
“状态”=>“1”
);
$this->db->insert('instagrammer_table',$data);
如果($this->db->infected_rows()>0){
回显“插入成功”;
}否则{
echo“插入记录失败”;
}
}
if(设置($Result->pagination->next_url)&&!empty($Result->pagination->next_url)){
$next=$Result->pagination->next_url;
$this->User($next);
}否则{
$NextUrl=“”;
}
}
}
public function User($next=null){
global $TotalHashTagPosts; // Total hashtag post counts
global $CommentsSum; // Sum of comments
global $LikesSum; // Sum of likes
$AccessToken = ACCESS_TOKEN;
$url = "https://api.instagram.com/v1/users/481959735/media/recent/?access_token=".$AccessToken;
if($url !== null) {
$url .= '&max_tag_id=' . $next;
}
$Ch = curl_init();
curl_setopt($Ch, CURLOPT_URL, $url);
curl_setopt($Ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Ch, CURLOPT_TIMEOUT, 20);
curl_setopt($Ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($Ch, CURLOPT_SSL_VERIFYPEER, 0);
$Result = curl_exec($Ch);
curl_close($Ch);
$Result = json_decode($Result);
if(isset($Result->data)){
$Data = $Result->data;
for($i=0; $i<count($Data); $i++){
if(empty($Data)){
continue;
}
$LikesSum = $Data[$i]->likes->count; // Get likes total per media
$CommentsSum = $Data[$i]->comments->count; // Get comments total per media
$InstagramId = $Data[$i]->user->id; // Get media instagrammer id
$MediaId = $Data[$i]->id; // Get media id
$data = array(
'instagram_id' => $InstagramId,
'media_id' => $MediaId,
'comments_count' => $CommentsSum,
'likes_count' => $LikesSum,
'created_date' => date(DATE_YYYYMMDDHMS_24),
'status' => '1'
);
$this->db->insert('instagrammer_table', $data);
if($this->db->affected_rows() > 0){
echo "Insert successful";
}else{
echo "Failed to insert record";
}
}
if(isset($Result->pagination->next_url) && !empty($Result->pagination->next_url)){
$next = $Result->pagination->next_url;
$this->User($next);
}else{
$NextUrl = "";
}
}
}