2010-02-26 3 views
1

Facebook API를 통해 이메일을 보내려고합니다. 신청서를 추가하고 이메일에 확장 권한을 부여했습니다. 나는 http://wiki.developers.facebook.com/index.php/Notifications.sendEmail의 지침에 따라 봤는데 (그들은 목록을 사람 대신에 올바른 사용자 ID와이기는하지만) 자신의 샘플 코드를 사용하고 있습니다 :PHP를 사용하는 Facebook API의 Notifications.sendEmail에 어려움이 있습니다.

$uids = array(12345,67890,13579); 
$csv = implode(",", $uids); 
$result=$facebook->api_client->notifications_sendEmail($csv,"Test: this should appear in the subject", "This should appear in the body (plain text)", "Test: <b><i><u>this should appear in the body</u></i></b> (HTML)"); 
echo "sent to $result targets of ". count(str_getcsv("$csv",",")) . "total."; 

API 호출이 오류를 반환하지만 $ 결과를 나타내는 것도 빈입니다 이메일이 전송되었습니다 (받은 편지함이 비어 있음으로 확인). 나는 이것을 샌드 박스 모드에서 그리고 밖으로 시도했다. contact_email, proxied_email 및 email에 대해 facebook에 요청하면 모두 올바른 결과를 반환합니다. proxied_email이 반환 한 주소로 이메일을 보내려고해도 이메일이 수신되지 않습니다.

나는 정상적인 알림을 보내고 대시 보드에 뉴스 항목을 추가하는 데 문제가없는 두 가지 작업을 시도했습니다. 어떤 응용 프로그램 설정이나 구성이 누락되었는지 잘 모르겠습니다. 문제 해결을위한 제안은 대단히 감사하겠습니다.

+0

먼저 연결 했습니까? FB는 API를 사용하기 위해 세션이 필요합니다. –

+0

전화를 걸려고 할 때 세션에 연결되어 있습니다.이 API 호출은 웹 응용 프로그램을 이해하는 데 필요하지 않습니다. 응용 프로그램 비밀 만 필요합니다. 위의 링크에서 "참고 : 세션 키는 항상 데스크톱 응용 프로그램에 필요하며 웹 응용 프로그램에는 필요하지 않습니다." – LogicWolfe

답변

2

페이스 북은 3 월 1 일 API 호출을 통해 이메일을 전송하는 기능에서 전환하고 있습니다. 이를 보완하기 위해 앱에서 사용자의 이메일 주소를 직접 요청할 수 있습니다.

앱 설정에서 이메일 도메인을 설정 한 경우 이메일 확장 권한을 요청하면 API를 통해 이메일을 보내는 대신 사용자 이메일 주소가 제공됩니다.

3 월 1 일부터 API가 작동을 멈추고 나만의 이메일 솔루션을 찾아 낼 수 있습니다. 이것은 일반 사용자와 사용자, 사용자 모두에게 알림을 전송합니다.

+0

사실입니까? 나는 그들이 알림에서 벗어나고 있다는 것을 알고 있지만 API를 통해 이메일을 보낼 수있는 기능을 제거 할 것임을 알지 못했습니다. http://wiki.developers.facebook.com/index.php/Notifications.send는 Notifications.send가 더 이상 사용되지 않지만 http://wiki.developers.facebook.com/index.php/Notifications.sendEmail에는 해당 항목이 없음을 나타냅니다. Notifications.sendEmail 경고. – LogicWolfe

+0

http://forum.developers.facebook.com/viewtopic.php?pid=200634에 관한 자세한 정보가 나와 있습니다. 잘 기록 된 것 같지 않지만 당신이 맞다고 보입니다. 잘못된 코스에서 벗어나 줘서 고마워. – LogicWolfe

관련 문제