2014-12-05 17 views
8

Próbuję udostępnić niektóre treści na Facebooku, ale mam wiele problemów. Dodałem poprawne keyhash i stworzyłem aplikację na Facebooku i umieściłem ją na żywo. Gdy próbuję podzielić się coś wydaje się dobry, jak widać:Facebook shareDialog nie pokazuje niczego

enter image description here

ale po kliknięciu na post już jest pusta: enter image description here

To problem pozwolenie? Czytałem dużo o tym na stosie, ale nie mogę znaleźć odpowiedzi, które działa ... To kod:

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) 
     { 
      case R.id.action_share:   
       Intent intent2=new Intent(Intent.ACTION_SEND); 
       intent2.setType("text/plain"); 
       intent2.putExtra(Intent.EXTRA_TEXT,"'"+ random + "'" + "\n"+"By Random Quotes"); 
       startActivity(Intent.createChooser(intent2, "Share via")); 
       break; 

       case R.id.randombut: 
        Frasi(); 

       case android.R.id.home: 
        Intent homeIntent = new Intent(this, MainActivity.class); 
        homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(homeIntent); 
       break; 

       case R.id.facebook: 
        FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this) 
        .setApplicationName("Random Quotes") 
        .setDescription(random) 
       .setPicture("https://lh6.ggpht.com/1UJ89ho9pvVLPYS6NsFVQdb7KoQPALMhkw1w7DnNDqcfDYJ-tRxruaf2YLMLyqhnG_g=w300-rw") 
        .setLink("https://play.google.com/store/apps/details?id=com.techappstudios.randomquotes") 
        .build(); 
        uiHelper.trackPendingDialogCall(shareDialog.present()); 

     } 
     return true; 
    } 
+3

zacząłem przyczynę nagród Jestem zainteresowany zbyt –

Odpowiedz

0

myślę, że to związane z pozwoleniem, trzeba poprosić o pozwolenie publish_actions. Po raz pierwszy facebook poprosi o zaakceptowanie nowego pozwolenia. Po zaakceptowaniu plik wspólny wyświetli się bezpośrednio.

To jest to, co zrobiłem, ale kod zastępuję informacjami o udostępnianiu.

final Session activteSession = Session.getActiveSession(); 
     if(!activteSession.isPermissionGranted("publish_actions")) { 
      Session.getActiveSession().requestNewPublishPermissions(new Session.NewPermissionsRequest(this, "publish_actions")); 
     } 
     FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this) 
       .setApplicationName("Random Quotes") 
       .setDescription(random) 
      .setPicture("https://lh6.ggpht.com/1UJ89ho9pvVLPYS6NsFVQdb7KoQPALMhkw1w7DnNDqcfDYJ-tRxruaf2YLMLyqhnG_g=w300-rw") 
       .setLink("https://play.google.com/store/apps/details?id=com.techappstudios.randomquotes") 
       .build(); 
       uiHelper.trackPendingDialogCall(shareDialog.present()); 
     mFacebookUIHelper.trackPendingDialogCall(shareDialog.present()); 

Mam nadzieję, że to pomoże.

+0

To dało mi błąd, bo muszę zadeklarować com.facebook.LoginActivity w manifeście, i Naprawiłem to, ale teraz daje mi ten błąd: java.lang.UnsupportedOperationException: Session: podjęto próbę żądania nowych uprawnień dla sesji, która nie jest obecnie otwarta. –

1

Miałem podobny problem.

Naprawiłem to zmieniając, skąd pochodzi obraz (nie pytaj mnie, dlaczego to działało, bo naprawdę nie wiem).

Zamiast przechwytywać mój adres URL obrazu z witryn takich jak Facebook lub Google Play, przesłałem zdjęcie do gethub. W gethub adres URL zdjęcia kończy się na .png. Zdjęcie, link i opis opublikowany tak, jak powinien.

Spróbuj. Mam nadzieję, że to pomoże.

+0

Po prostu usunąłem obrazek i zadziałało, ale nie wiem jak teraz dodać obraz. – Rahul

0

Z najnowszej aktualizacji Facebooka SDK, Facebook nie zezwala na tekst wstępny. Możesz teraz udostępniać tylko URL. Nie ma znaczenia, że ​​używasz ShareDialog lub Share Intent.

proszę zobaczyć poniżej linku bug więcej szczegółów

https://developers.facebook.com/bugs/332619626816423

+0

To błąd dotyczący metody intencji, ale używam okna udostępniania, więc myślę, że jest inaczej. Inne aplikacje robią to –

+0

Myślę, że błędy we wszystkich metodach. Nawet sharer.php nie działa teraz.Możesz zobaczyć ten link: https://www.facebook.com/sharer/sharer.php?u=http://www.google.com&t=hello –

+0

Odtworzenie treści nie jest dozwolone każdy rodzaj metody udostępniania. Możesz zobaczyć zasady dotyczące Facebooka, aby udostępniać treści https://developers.facebook.com/policy/#control –