2011-01-07 29 views
5

Android uygulamasından grafik api ile kullanıcının beslemelerini almaya çalışıyorum. Genellikle işe yarıyor ama duvarda görebildiğim bazı beslemeler json cevabında eksik.Facebook graph API: json yanıtta eksik beslemeler

Android Facebook SDK yöntemlerini kullanarak URL'yi http://graph.facebook.com/someUserId/feed olarak adlandırıyorum, bu nedenle erişim belirteci otomatik olarak sağlanmalıdır, ancak benim durumumda gerçekten uygun değil. Yine de, uygulamamın kullanıcısı OAuth üzerinden doğrulanır.

Zaten şu kontrol:

  • kullanıcının tüm beslemeleri herkese
  • json tepkisi benim tarayıcı tarafından önbelleğe değildir/kamu (gizlilik ayarlarında ayarlanır) görülebilir
  • Farkındayım çağrı, ama bu bir sorun değil. Sorun şu ki, en eski beslemeleri almıyorum ama arasındaki bazı beslemeler eksik.
  • Duvar beslemelerini almak istediğim kullanıcıya bağlı olmayan yeni bir facebook kullanıcısı kaydettim ve ilgili duvarı açtığımda, tüm yayınları beklediğim gibi beklediğimden, herkese herkese açık olarak görüyorum . Yine de, http://graph.facebook.com/someUserId/feed numaralı aynı json url'yi açtığımda, bazı feed'ler eksik.

Bu, sorunun bir örneğidir - tüm yayınlarım herkese açık olduğundan, bir tarayıcıda json url'yi doğrudan bir tarayıcıda çağırabilirim. http://www.facebook.com/mathias.lin

Screenshot1: Ben duvara almak istiyorum

kullanıcıdan beslemeleri 3 Seçili iletileri not gördüğünüz gibi, hepsi burada

alt text

ve başıma json yanıt gönderdi , 1. ve 3. duvar direkleri json'a dahil edilir, ancak 2. yazı değildir. Niye ya?

ilgili json url: http://graph.facebook.com/mathias.lin/feed

alt text

Ben url bir access_token eklediğinizde 'kayıp' feed alıyorum - ama neden? Yayınlanan feed'in 'herkes' için bir gizlilik ayarı var mı ?!

{"id":"504063796_485195138796","from":{"name":"Mathias Lin","id":"504063796"},"message":"Photo test upload from Android","picture":"http:\/\/photos-e.ak.fbcdn.net\/hphotos-ak-snc6\/hs021.snc6\/165194_485195123796_504063796_6062399_1841907_s.jpg","link":"http:\/\/www.facebook.com\/photo.php?fbid=485195123796&set=a.485195118796.256450.504063796","name":"Torres Photos","icon":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/yz\/r\/StEh3RhPvjk.gif","actions":[{"name":"Comment","link":"http:\/\/www.facebook.com\/504063796\/posts\/485195138796"},{"name":"Like","link":"http:\/\/www.facebook.com\/504063796\/posts\/485195138796"}],"privacy":{"description":"Everyone","value":"EVERYONE"},"type":"photo","created_time":"2011-01-06T05:10:43+0000","updated_time":"2011-01-06T09:00:23+0000","likes":6,"comments":{"data":[{"id":"504063796_485195138796_3607414","from":{"name":"Mathias Lin","id":"504063796"},"message":"Awesome, photo upload now works as well. Not so much fun working with the Facebook SDK for Android, would have expected more functionality beyond that just very very simple graph api wrapper. But need to be considered that the android sdk development was part of an internship - but since it's it's open source, it can luckily be modified. Which has to be done due to some bugs (mixing up the bundle parameters for a post, getString, getByteArray). Api documentation could be improved.","created_time":"2011-01-06T05:26:04+0000"},{"id":"504063796_485195138796_3608020","from":{"name":"Renate Hermanns","id":"628810487"},"message":"Wow 
, how fast time passes by. Your daughter is nearly grown up ;-).","created_time":"2011-01-06T09:00:23+0000"}],"count":2},"attribution":"Torres"} 

Zaten yanıt bekleniyor, FB dev foruma soru gönderdiniz:

Bu access_token kullanırken olsun eksik beslemesidir.

İlgili Konular:

http://forum.developers.facebook.net/viewtopic.php?id=81365

http://forum.developers.facebook.net/viewtopic.php?id=75984

Facebook Graph API "/userid/feed" returning Blank

+1

Ben size yararlı bu cevap bulmak düşünüyorum - http://stackoverflow.com/questions/4617606/facebook-graph-api- does-not-dönüş tüm besleme-ürün-on-facebook-sayfa/4622608 # 4622608. Pratik olarak aynı soru. – Bartek

+0

Bağlantı için teşekkürler! Benim durumum biraz farklı olsa da gerçekten ilginç, çünkü tüm mesajlar dahil. Kayıp olan her şey benden ve kendi duvarımdan. 'Eksik' postayı diğerlerinden farklı kılan şeyi göremiyorum. Afaik bağladığınız durumda, realplayer tarafından tüm kendi mesajları gösterilir, tüm yabancı gizlidir. Ama benim durumumda, bir kendi gönderim bile access_token olmadan görüntülenmiyor. –

+0

Ah, pardon, üzgünüm - kayıp mesajın da sizin tarafınızdan yaratıldığını farketmemiş. Gerçekten garip. Farklı bir notta - Duvaranıza bir göz attım ve fark ettiğim şey fotoğrafın gerçekten bir gönderi olmamasıdır - her bir gönderinin altındaki zamana tıkladığınızda kimliğini bulabilirken, fotoğrafın altındaki bağlantı sizi doğrudan alır albüme Birkaç duvarı analiz ettikten sonra bana sadece fotoğrafların sorunla karşılaştığını görüyoruz – Bartek

cevap

4

Kişisel yaklaşım doğrudur, ben JSON gördüm ve evet o ikincisini eksik, ben yükleme uygulaması olduğunu düşünüyorum adroid formu, bu uygulama için uygulama ayarlarını kontrol etmeyi deneyin. Ya senin duvar FQL alınmaya çalışılırken ben de yaşadım çok daha iyi bir yol

SELECT post_id, actor_id, target_id, message FROM stream WHERE source_id in (SELECT target_id FROM connection WHERE source_id=<uid> AND is_following=1) AND is_hidden = 0 
+0

Evet, yazı Android uygulamam üzerinden yapıldı, ancak emin değilim - hangi uygulama ayarlarını kontrol etmeliyim? Gizlilik ayarları ile ilgili herhangi bir şey bulamadım veya uygulamam aracılığıyla gönderilen yayınları içeri/dışarı dahil edip etmediğimi anlamadım. Tamam, ben de FQL bakacağız, ne yazık ki bu Android TV SDK varsayılan grafik api kullanır, çünkü bu tekrar bazı özel uygulama gerekir. –

+0

btw: ve fotoğrafın gönderildiği albüm (FB api tarafından otomatik olarak yaratılır) privacy = Everyone olarak ayarlanır –

+1

FQL ile düzenli grafik API'si tarafından kaçırılan beslemeleri alıyorum. İpucu için teşekkürler. –

0

olduğunu Facebook izinlerini kategorize şekli örneğin Publicly available için, bir şekilde yanıltıcı olabilir Available to everyone on Facebook ama apparently gibi sesler değil. Zaten kullanıcının kimlik doğrulaması Şimdi eğer senin durumunda

, ardından kullanmayı deneyin:

/me/feed 

Bu access_token URL'de gerekli değildir, sadece durum sanırım.

+0

/me/feed yalnızca kendi yayınlarımı döndürür, herhangi bir userId/feed kullanmak istiyorum. Tam olarak anlamadığım, hepsinin aynı gizlilik ayarlarına sahip olmasına rağmen, herhangi bir access_token kullanmadığım zamanlarda bazı feed'lerin döndürülmesi ve bazılarının olmamasıdır. Ama ben/feed bir erişim belirtecine ihtiyacınız olmayan tek durum değil - sadece bir tarayıcıda http://graph.facebook.com/mathias.lin/feed açmaya çalışıyorum - Bazıları bilinmeyen sebeplerden dolayı eksik, değil mi? –

+0

hayır, diyorum ki ... kimlik doğrulama sürecini takip edip geçerli bir oturuma sahip olursanız .../me/feed'i tüm yayınları döndürür mü? Bence, bu yüzden * */user_id/feed? Access_token = xxx' = '/ me/feed' – ifaour

+0

ve * gerekmiyor * URL’de mevcut olmadan tam erişim elde etmek istedim. – ifaour

0

Benzer bir sorunla karşılaştım. Ama benim için sorun, ilk girişte (uygulamayı onaylamak için) kapsamı düzgün bir şekilde ayarlamamayla ilgili idi. Ben benzer bir soru yayınlanmıştır ve burada benim için çalıştı bir cevap var:

Facebook API how to get all wall items

İlgili konular