2010-03-11 6 views
2

권한이 있어도 앱 사용자에게 이메일을 보낼 수 없습니다.facebook : 왜 앱에서 이메일을 보낼 수 없습니까?

관련이 있다고는 생각하지 않지만 자바 라이브러리로 작업하고 있습니다.

long uid = ...; 
Collection<Long> uids = new ArrayList<Long>(); 
uids.add(uid); 
FacebookXmlRestClient client = new FacebookXmlRestClient(api, secret); 
boolean sendEmailPerm = client.users_hasAppPermission(Permission.EMAIL,uid); 
System.out.println("Can send email: "+ sendEmailPerm); 
Collection<String> sent = client.notifications_sendTextEmail(uids, "subject", "body"); 
System.out.println("Succesfully sent email to: "+sent); 
sent = client.notifications_sendFbmlEmail(uids, "subject", "body"); 
System.out.println("Succesfully sent email to: "+sent); 

저는 fbml과 텍스트 이메일을 모두 사용하고 있습니다. 사용자의 proxied_email 속성도 얻을 수 있지만 일반 메일 클라이언트와 함께 해당 주소로 이메일을 보내면 도착하지 않습니다.

출력은 다음과 같습니다

 
Can send email: true 
Succesfully sent email to: [] 
Succesfully sent email to: [] 

답변

6

응용 프로그램이 데스크톱 응용 프로그램 또는 웹 앱과 페이스 북의 응용 프로그램 설정에 정의되어 있습니까?

데스크톱 응용 프로그램으로 정의 된 경우 이메일로 보내는 사용자의 현재 유효한 Facebook 세션 키를 포함해야합니다. 그게 당신이 누락 된 것일 수 있습니다.

이메일을 보낼 때 사용자가 응용 프로그램/Facebook에 로그인하지 않은 경우, 만료되지 않는 "무한"Facebook 세션 키를 가져 와서 저장할 수있는 offline_access 확장 권한을 요청해야합니다 이메일을 보냅니다.

+0

그 대답은 google 결과에서 훨씬 더 높아야한다. ... 2h의 삶은 방금 낭비되었지만 ... 어쨌든 많이 쓰다;) +1 – IProblemFactory

1

나는 페이스 북에서 성공적으로 로그인하지 않았거나 제대로 세션을 만들지 못한다고 생각합니다.

관련 문제