• 06-03-2021, 16:33:45
    #10
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    Merhaba, pm'yi göremedim biraz yoğunum.

    Instagram Comments algoritması şu şekilde çalışır: yorumlar ortadan başlayabilir yani 100 mesaj varsa 51. mesajda başlayabilir ve yorumlarda ileri ve geri yani diğer algoritmalar gibi sadece max_id değil, min_id'de bulunur. Mgp25'in comment fonksiyonunu incelerseniz array içine max ve min olarak yazdırabildiğinizi görürsünüz. Bendeki kodları paylaşmak isterdim ancak ne yazık ki benim kodlarım katman katman olduğu için buraya atsam da çalıştıramazsınız. O yüzden ancak mantığını anlatırım.

    Yapacağınız şey, gelen "next_max_id" verisini comment fonksiyonuna aktarmak. Yanlış hatırlamıyorsam Mgp25 comment fonksiyonu şöyleydi.

    getComments($media_id, $options)
    Bunu gelen veriye göre örneğin max_id olsun bu, buraya if koymanız lazım.

    getComments($media_id, ['max_id' => $json['next_max_id'])
    Tam tersi min_id gelirse:

    getComments($media_id, ['min_id' => $json['next_min_id'])
    İkisini bir arada kullanamazsınız.
    Kabaca mantığı budur, tabi verdiğim örnekleri kendinize göre düzenlemeniz lazım.



    19 yorumu zaten normal çekebildiğim için 19dan fazla ise sonraki sayfayı al gibi bir mantıkla yürümek istedim.


    $PhotoComment in içersinde dönen json da "next_max_id" değeri var. İlk resimde $PhotoComment kullanarak next max id değerini almaya çalıştığımda aşağıdaki gibi bir sonuç dönüyor.



    ": InstagramAPI Response MediaCommentsResponse türündeki nesne içinde dizi olarak kullanılamaz"



    $PhotoCommentKaynak kullanarak denediğimde de ": StdClass türündeki nesne içinde dizi olarak kullanılamaz " hatasını alıyorum.


    next_max_id değerini kendim çekip bir değişkene kayıt edip yazırdığımda da array kullanmalısın string kullanamazsın hatasını alıyorum 2 gündür bu durumla kafayı yemiş durumdayım.
  • 06-03-2021, 17:12:52
    #11
    CyBerkeUnal adlı üyeden alıntı: mesajı görüntüle



    19 yorumu zaten normal çekebildiğim için 19dan fazla ise sonraki sayfayı al gibi bir mantıkla yürümek istedim.


    $PhotoComment in içersinde dönen json da "next_max_id" değeri var. İlk resimde $PhotoComment kullanarak next max id değerini almaya çalıştığımda aşağıdaki gibi bir sonuç dönüyor.



    ": InstagramAPI Response MediaCommentsResponse türündeki nesne içinde dizi olarak kullanılamaz"



    $PhotoCommentKaynak kullanarak denediğimde de ": StdClass türündeki nesne içinde dizi olarak kullanılamaz " hatasını alıyorum.


    next_max_id değerini kendim çekip bir değişkene kayıt edip yazırdığımda da array kullanmalısın string kullanamazsın hatasını alıyorum 2 gündür bu durumla kafayı yemiş durumdayım.
    Mgp25'in dökümanını okumanız gerekli bu durumlar hakkında kesin bilgiler veriyor. Öncelikle maxId'yi jsonlamadan çekebilirsiniz,

    $photoComments->getNextMaxId()
    Veya illa json yapacağım derseniz,

    $json = json_decode(
                        json_encode($photoComments), true
                    )
    Her veriyi fonksiyon olarak çekebilmek var bu gereksiz. Mesela $photoComments->getPk() derseniz pk çeker sizi kod fazlalığından kurtarır. Ancak dediğim gibi mgp25 örneklerini ve dökümanlarını okuyun.
  • 06-03-2021, 17:36:47
    #12
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    Mgp25'in dökümanını okumanız gerekli bu durumlar hakkında kesin bilgiler veriyor. Öncelikle maxId'yi jsonlamadan çekebilirsiniz,

    $photoComments->getNextMaxId()
    Veya illa json yapacağım derseniz,

    $json = json_decode(
                        json_encode($photoComments), true
                    )
    Her veriyi fonksiyon olarak çekebilmek var bu gereksiz. Mesela $photoComments->getPk() derseniz pk çeker sizi kod fazlalığından kurtarır. Ancak dediğim gibi mgp25 örneklerini ve dökümanlarını okuyun.
    $photoComment2 = $ig->media->getComments($photoID,['max_id' => $photoCommentKaynak->next_max_id]);

    Üstteki örnekteki gibi denediğimde oldu hocam bende size yanıt verdikten sonra fark ettim değiştire değiştire denerken buldum diğer arkadaşın attığı örnek dosyada da yazılan kodlar benim yazdıklarıma göre çok farklı.


    Github üzerindeki api dosyaları silinmiş forum sitelerinden,youtube videolarından sağdan soldan birşeyler araştırarak yanlış öğrendim. API'nin sağladığı kolaylıkları bilmediğim içinde kendi kafamdan giderek hata yaptım. $photoComments->getPk() gibi şeyleri yeni yeni öğreniyorum 0'dan sadeleştirmeye kalksamda uzun zaman alıcak umarım ilerleyen süreçte sorun yaşamam bu tarz şeylerden dolayı.

    Son bir sorum daha olacak Baştan basit düşündüğüm için her şeyi manuel olarak kontrol edip SS'lerde attığım gibi if ile yorum sayısını kontrol ettirip for kullanarak devam etmem mantıklı değil gibime geldi bu süreçte yorum sayısı değişken olcağı için yüksek yorumlu fotoğraflar için satırlarca kod yazmam gerekecek.

    Elinizde bunun bir örneği var ise ya da bir fikriniz var ise PM atabilirmisiniz elimden geldiğince istediğiniz miktarda ödeme yapabilirim.
  • 06-03-2021, 17:47:49
    #13
    CyBerkeUnal adlı üyeden alıntı: mesajı görüntüle
    $photoComment2 = $ig->media->getComments($photoID,['max_id' => $photoCommentKaynak->next_max_id]);

    Üstteki örnekteki gibi denediğimde oldu hocam bende size yanıt verdikten sonra fark ettim değiştire değiştire denerken buldum diğer arkadaşın attığı örnek dosyada da yazılan kodlar benim yazdıklarıma göre çok farklı.


    Github üzerindeki api dosyaları silinmiş forum sitelerinden,youtube videolarından sağdan soldan birşeyler araştırarak yanlış öğrendim. API'nin sağladığı kolaylıkları bilmediğim içinde kendi kafamdan giderek hata yaptım. $photoComments->getPk() gibi şeyleri yeni yeni öğreniyorum 0'dan sadeleştirmeye kalksamda uzun zaman alıcak umarım ilerleyen süreçte sorun yaşamam bu tarz şeylerden dolayı.

    Son bir sorum daha olacak Baştan basit düşündüğüm için her şeyi manuel olarak kontrol edip SS'lerde attığım gibi if ile yorum sayısını kontrol ettirip for kullanarak devam etmem mantıklı değil gibime geldi bu süreçte yorum sayısı değişken olcağı için yüksek yorumlu fotoğraflar için satırlarca kod yazmam gerekecek.

    Elinizde bunun bir örneği var ise ya da bir fikriniz var ise PM atabilirmisiniz elimden geldiğince istediğiniz miktarda ödeme yapabilirim.
    Ücret istesem şimdiye kadar istemiştim

    Mgp25'in kurulu olduğu yere girerseniz orada examples klasörü olması lazım içinde bir sürü örnek var.

    Neden her biri için kod yazacaksınız? yapacağınız şey, sayfalama yapmak. Yani ilk yorumu getirin sonra max_id veya min_id ile diğerlerini getirin ve fonksiyona yazın olay bundan ibaret. Veri tabanından çekmek gibi. Eğer siz hepsini for yaparsanız, Instagram sizi 2 dakika içinde engeller Örnek için dediğim gibi arkadaş atmış dosyaları ona bir bakın, bendeki kodlar çok çok fazla katmanlı, ondan hiç anlamazsınız. Zaten kendi apimi kullanıyorum aylardır, Mgp25 ile işim kalmadı. O sebepten en fazla bu kadar yardımcı olabiliyorum
  • 06-03-2021, 21:00:03
    #14
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    Ücret istesem şimdiye kadar istemiştim

    Mgp25'in kurulu olduğu yere girerseniz orada examples klasörü olması lazım içinde bir sürü örnek var.

    Neden her biri için kod yazacaksınız? yapacağınız şey, sayfalama yapmak. Yani ilk yorumu getirin sonra max_id veya min_id ile diğerlerini getirin ve fonksiyona yazın olay bundan ibaret. Veri tabanından çekmek gibi. Eğer siz hepsini for yaparsanız, Instagram sizi 2 dakika içinde engeller Örnek için dediğim gibi arkadaş atmış dosyaları ona bir bakın, bendeki kodlar çok çok fazla katmanlı, ondan hiç anlamazsınız. Zaten kendi apimi kullanıyorum aylardır, Mgp25 ile işim kalmadı. O sebepten en fazla bu kadar yardımcı olabiliyorum
    Hocam ilginiz için tekrar tekrar teşekkür ediyorum.



    Bir kullanıcının medyalarını aynı yöntemle çektirmek istediğimde bu yöntemle yukarıda attığım gibi çekebiliyorum. Takipçilerini vs. çekebiliyorum fakat yorumlara geldiğimiz zaman maxId değerine null atadığımız için sorun yaşıyorum.


    Aynı şekilde diğerlerine de null atayarak veri çekebiliyoken comment kısmında sorun yaşıyorum.



    getComments maxId kısmını array olarak istiyor fakat diğerleri null olarak kabul ediyor. Bir türlü çözemedim 3 gündür en az 30 saatimi bu saçma problemle yedim 2 ayın hatrına başladığım için sonunu getirmeye çalışıyorum dinden imandan çıktım çok az kaldı klavyeyi mauseyi kırmama lütfen yardımcı olun.
  • 06-03-2021, 21:05:09
    #15
    CyBerkeUnal adlı üyeden alıntı: mesajı görüntüle
    Hocam ilginiz için tekrar tekrar teşekkür ediyorum.



    Bir kullanıcının medyalarını aynı yöntemle çektirmek istediğimde bu yöntemle yukarıda attığım gibi çekebiliyorum. Takipçilerini vs. çekebiliyorum fakat yorumlara geldiğimiz zaman maxId değerine null atadığımız için sorun yaşıyorum.


    Aynı şekilde diğerlerine de null atayarak veri çekebiliyoken comment kısmında sorun yaşıyorum.



    getComments maxId kısmını array olarak istiyor fakat diğerleri null olarak kabul ediyor. Bir türlü çözemedim 3 gündür en az 30 saatimi bu saçma problemle yedim 2 ayın hatrına başladığım için sonunu getirmeye çalışıyorum dinden imandan çıktım çok az kaldı klavyeyi mauseyi kırmama lütfen yardımcı olun.
    getComments($mediaId , ['max_id' => null]) şeklinde yazılmalı yani array olmalı veri, diğerleri string istiyor, fonksiyonun kuralı böyle maalesef, o şekilde yazmalısınız.
  • 06-03-2021, 21:50:22
    #16
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    getComments($mediaId , ['max_id' => null]) şeklinde yazılmalı yani array olmalı veri, diğerleri string istiyor, fonksiyonun kuralı böyle maalesef, o şekilde yazmalısınız.




    Gönderilecek ilk $maxId verisini array şeklinde gönderip ilk yorum sayfasını aldım.
    Bir sonraki sayfa için işaretlediğim alttaki yerden $maxId verisi tekrar çekiliyor ve bunu string olarak çekiyor alttaki while kısmında null a eşit değilmi diye kontrol ederken yine string sorunu çıkıyor. Üstteki string olarak gelen kısmı $maxId'ye aktarırken array olarak aktarabilip aşağıdaki kontrolüde ona göre sağlasam sorun düzelir mi ?
  • 06-03-2021, 22:03:20
    #17
    CyBerkeUnal adlı üyeden alıntı: mesajı görüntüle




    Gönderilecek ilk $maxId verisini array şeklinde gönderip ilk yorum sayfasını aldım.
    Bir sonraki sayfa için işaretlediğim alttaki yerden $maxId verisi tekrar çekiliyor ve bunu string olarak çekiyor alttaki while kısmında null a eşit değilmi diye kontrol ederken yine string sorunu çıkıyor. Üstteki string olarak gelen kısmı $maxId'ye aktarırken array olarak aktarabilip aşağıdaki kontrolüde ona göre sağlasam sorun düzelir mi ?
    Do içine:

    $maxId = ['max_id' => $response->getNextMaxId()]
    while için
    while ($maxId['max_id'] !== null)
    Bu şekilde sorunsuz olması gerek.
  • 06-03-2021, 22:11:34
    #18
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    Do içine:

    $maxId = ['max_id' => $response->getNextMaxId()]
    while için
    while ($maxId['max_id'] !== null)
    Bu şekilde sorunsuz olması gerek.
    Sorun düzeldi hocam teşekkür ediyorum.




    R10 üzerinden yaklaşık 5 kişiyle görüştüm bu api üzerinde çalışan arkadaşlar ile görüştüm sayılı kişi yardımcı oldu sürekli başka kişilere yönlendirildim hiçbirinden bir sonuç alamadım ne kadar teşekkür etsem azdır...