2012-02-28 11 views
10

Zgodnie z Facebook documentation aplikacja jest odpowiedzialna za usuwanie żądań po ich zaakceptowaniu przez użytkowników. According to Facebook aplikacja musi połączyć identyfikator żądania z identyfikatorem użytkownika, aby usunąć żądanie. Jeśli jednak użytkownik nie uwierzytelnił jeszcze aplikacji, nie jest możliwe uzyskanie jej identyfikatora użytkownika.Usuwanie żądań 2.0 dla nieuwierzytelnionych użytkowników

Jak należy podejść do tego problemu?

+1

Jeśli użytkownik nie autoryzował aplikacji, wówczas sam usunie żądanie, więc nie trzeba nic robić. –

+1

Dzięki! Czy istnieje jakieś oficjalne źródło lub dokumentacja, która to stwierdza? –

+1

Inną rzeczą, którą możesz spróbować, jest pobranie identyfikatora żądania z ciągu zapytania (jest on przekazywany, gdy użytkownik kliknie, zaakceptuj) i manipulowanie nim przy użyciu ŻETONU DOSTĘPU APP. –

Odpowiedz

1

The Facebook dokumentacja stanowi:

Gdy użytkownik jest kierowany do aplikacji, klikając zaakceptowaniem żądania trzeba usunąć żądanie po to została przyjęta ... Jest więc dewelopera odpowiedzialność, aby usunąć je raz zostały one zaakceptowane

zauważy „po to została przyjęta” część - to znaczy, że to twoja odpowiedzialność t o usunąć żądanie TYLKO, jeśli zostało zaakceptowane.

+1

Fakt, że użytkownik zaakceptował prośbę, nie oznacza, że ​​jest on zalogowany i mogę odzyskać jego identyfikator użytkownika. To jest dokładnie mój problem. –

+1

Sposób, w jaki go widzę, jeśli użytkownik kliknie żądanie, ale potem nie zezwala na dostęp do aplikacji, jest równoznaczny z nieakceptowaniem żądania. Zastanów się, co byś zrobił, gdybyś zaakceptował prośbę, ale potem opuścił aplikację bez połączenia, ponieważ nie chcesz podawać swoich informacji - sam byś usunął denerwującą prośbę, czy też nie? –

+2

Żądanie zostanie usunięte z listy użytkowników po zaakceptowaniu lub odrzuceniu. Ale Facebook nakazuje programistom usunięcie żądania za pomocą interfejsu API Graph po jego zaakceptowaniu. W naszej aplikacji na przykład użytkownicy nie są od razu proszeni o zalogowanie. Wylądują na naszej stronie i mogą się zalogować lub nie. Pytanie pozostaje więc nadal - Jak powinien wyglądać przypadek, w którym użytkownik akceptuje prośbę, ale nie jest zalogowany? –

1

Za dokumentację odpowiada użytkownik, którego należy usunąć.

Dokumenty mówią, że możesz użyć tokenu dostępu do aplikacji lub tokena dostępu użytkownika. Więc jeśli użytkownik jest zalogowany, wystarczy użyć tokena dostępu użytkownika. Jeśli użytkownik nie jest zalogowany, użyj tokenu dostępu do aplikacji.

DELETE https://graph.facebook.com/[<REQUEST_OBJECT_ID>_<USER_ID>]? 
     access_token=[USER or APP ACCESS TOKEN] 
+2

Dzięki za odpowiedź. Jeśli użytkownik nie jest zalogowany, jak mogę poznać część powyższego kodu? –

+1

W pewnym momencie zaakceptowali/autoryzowali swoją aplikację, w przeciwnym razie po co usuwać żądanie? Kiedy autoryzują Twoją aplikację, zbieraj identyfikator użytkownika i przechowuj ją razem z identyfikatorem żądania w bazie danych (co jest częścią twojego obowiązku korzystania z żądań aplikacji). Tak więc, gdy kod zostanie usunięty, aby usunąć żądanie (być może zadanie wsadowe skonfigurowane do uruchomienia o określonych porach dnia), masz zarówno identyfikator żądania, jak i identyfikator użytkownika. – DMCS

+1

Jeśli jako użytkownik Facebooka otrzymam i zaakceptuję żądanie, oczekuję, że żądanie zostanie usunięte, nawet jeśli nigdy nie uwierzytelniłem uruchomionej aplikacji. Jeśli nie autoryzuję aplikacji, w jaki sposób mogę ją usunąć? Czy pozostaję z tym na zawsze? Wydaje się to strasznym doświadczeniem użytkownika. –

Powiązane problemy