Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Takipçi ve takip edilenlerin hepsi gözükmüyor #17

Open
nihatxp opened this issue Feb 16, 2023 · 5 comments
Open

Takipçi ve takip edilenlerin hepsi gözükmüyor #17

nihatxp opened this issue Feb 16, 2023 · 5 comments

Comments

@nihatxp
Copy link

nihatxp commented Feb 16, 2023

Merhaba.

Öncelikle elinize sağlık çok güzel bir proje geliştirmişsiniz.
Proje sıkıntısız çalışıyor ama takipçilerin hepsini çekmek istediğimde 50 tanesi geliyor.
Yardımcı olabilir misiniz?

@Hasokeyk
Copy link
Owner

Merhabalar,

50 adeti instagram limitliyor bir nevi sayfalama mantığı. Diğer sayfaye geçmek için max_id gerekiyor. Sorgu cevabının en sonda "max_id" veya "nextmax_id" gibi bir parametre olmalı.

Öncelikle yapmanız gereken. InstagramUser.php dosyasında 785. satırdaki kod ile aşağıdakini değiştirin. Şu an kendi pc'm de değilim güncelleme çıkamıyorum.

aldığınız "max_id" parametresindeki tokeni bir döngü oluşturarak aynı fonksiyonu kullanarak sayfalar arası geçebilirsiniz.

public function get_my_followers($max_id = null){
    $user_id = $this->get_user_id();

    $url  = 'https://i.instagram.com/api/v1/friendships/'.$user_id.'/followers/?includes_hashtags=true&search_surface=follow_list_page&query=&enable_groups=true&rank_token=4c6947e0-bebe-4f69-a7bf-24be28dc4990&max_id='.($max_id);
    $json = $this->request->get($url);
    $json = json_decode($json['body']);

    return $json;
}

@nihatxp
Copy link
Author

nihatxp commented Feb 16, 2023

Merhabalar,

50 adeti instagram limitliyor bir nevi sayfalama mantığı. Diğer sayfaye geçmek için max_id gerekiyor. Sorgu cevabının en sonda "max_id" veya "nextmax_id" gibi bir parametre olmalı.

Öncelikle yapmanız gereken. InstagramUser.php dosyasında 785. satırdaki kod ile aşağıdakini değiştirin. Şu an kendi pc'm de değilim güncelleme çıkamıyorum.

aldığınız "max_id" parametresindeki tokeni bir döngü oluşturarak aynı fonksiyonu kullanarak sayfalar arası geçebilirsiniz.

public function get_my_followers($max_id = null){
    $user_id = $this->get_user_id();

    $url  = 'https://i.instagram.com/api/v1/friendships/'.$user_id.'/followers/?includes_hashtags=true&search_surface=follow_list_page&query=&enable_groups=true&rank_token=4c6947e0-bebe-4f69-a7bf-24be28dc4990&max_id='.($max_id);
    $json = $this->request->get($url);
    $json = json_decode($json['body']);

    return $json;
}

Dediğinizi yapmaya çalıştım ama malesef max_id diye bir bilgi gelmiyor

Söylediğinize benzer pk ve pk id vardı ama birbirlerinden çok bağımsız geliyordu her kullanıcıda,

  | [has_anonymous_profile_picture] => 1
  | [all_media_count] => 3
  | [liked_clips_count] => 21
  | [fbid_v2] => 17241465800311351
  | [interop_messaging_user_fbid] => 17842109166669408
  | [allowed_commenter_type] => any
  | [reel_auto_archive] => unset
  | [pk] => 49690812027 <----------------
  | [pk_id] => 49690812027 <----------------
  | [username] => XXXXXXX
  | [full_name] =>
  | [is_private] =>
  | [is_verified] =>
  | [profile_pic_url] => 
  | [account_badges] => Array
  | (
  | )
  |  
  | [latest_reel_media] => 0
  | [is_favorite] =>

bunları denedim işe yaramadı.

Zamanınız olduğunda bakabilir misiniz yanıtınızı bekliyor olacağım

@Hasokeyk
Copy link
Owner

Merhabalar,

Bu yolladığınız kullanıcı bilgisini içeren çıktı. Takipçileri getiren fonksiyon başka. Pc me ulaşınca bir güncelleme yollarım.

Siz kullandığınız kodu buraya yazabilir misiniz?

@nihatxp
Copy link
Author

nihatxp commented Feb 17, 2023

Kullandığım kodu aşağıya bıraktım. amacım sadece sayfalama ile de olsa herhangi bir kullanıcının takip listesinin tamamına erişmek.

use Hasokeyk\Instagram\Instagram;

require "../../vendor/autoload.php";

require_once "../config/config.php";

$instagram = new Instagram($username, $password);
$instagram->login->login();

$login = $instagram->login->login_control();
if ($login) {
    $q = "nihatxp";
    $user = $instagram->user->get_user_following($q);
    foreach ($user->users as $key => $value) {
        $img = base64_encode(file_get_contents($value->profile_pic_url));
        $value->profile_pic_url = "data:image/jpeg;base64," . $img;
    }
    print_r(json_decode(json_encode($user->users), true));

    $json = json_encode($user->users, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
    // Replace all colons with a single colon followed by a space to separate keys and values
    $json = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', $json);
} else {
    echo 'Login Fail';
}

Bunun dışında hep olmasa da bazen sorgu sonucu aşağıdaki hatayı alıyorum

<br />
<b>Deprecated</b>:  Implicit conversion from float 7254.46 to int loses precision in <b>C:\Wamp.NET\sites\localhost\Instagram-Scrapper\vendor\hasokeyk\instagram\src\Instagram\InstagramRequest.php</b> on line <b>359</b><br />
<br />
<b>Deprecated</b>:  Implicit conversion from float 7281.61 to int loses precision in <b>C:\Wamp.NET\sites\localhost\Instagram-Scrapper\vendor\hasokeyk\instagram\src\Instagram\InstagramRequest.php</b> on line <b>331</b><br />
<br />
<b>Deprecated</b>:  Implicit conversion from float 7302.459999999999 to int loses precision in <b>C:\Wamp.NET\sites\localhost\Instagram-Scrapper\vendor\hasokeyk\instagram\src\Instagram\InstagramRequest.php</b> on line <b>303</b><br />
<br />
<b>Deprecated</b>:  Implicit conversion from float 7318.99 to int loses precision in <b>C:\Wamp.NET\sites\localhost\Instagram-Scrapper\vendor\hasokeyk\instagram\src\Instagram\InstagramRequest.php</b> on line <b>387</b><br />

Ne olduğunu anlamadığım için kurcalamadım, bunu da not edeyim dedim

@Hasokeyk
Copy link
Owner

Hasokeyk commented Mar 7, 2023

Merhabalar,

Geç döndüğüm için kusura bakmayın.

Yolladığınız hata php sürümünden kaynaklanıyor gibi. php7.4 kullanmanızı öneriririm. Eğer php.7.4 kullanıyorsanız lütfen bilgi verin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants