Процесс документирования в Facebook очень плохой, так что не переживайте из-за трудностей с началом работы. Их подход к документации в вики-стиле без каких-либо реальных официальных документов, как правило, оставляет сложным для понимания «процессный поток» и требует объединения воедино частей множества случайно разбросанных документов.
Facebook обязан защищать конфиденциальность, поэтому они никогда не предоставляют фактический адрес электронной почты пользователя доступным для разработчиков приложений через Connect или обычные приложения. У них есть система прокси-почты, которую вы можете использовать, однако вы должны получить явное разрешение от пользователя, чтобы отправить им электронное письмо. На проксированной электронной почте имеется достойный документ. Вы можете получить разрешение, запросив его; Есть несколько способов сделать это, связанные в этом документе.
Что касается связывания Facebook и локальных учетных записей, это определенно будет подходящим способом. Как только пользователь Connect войдет в систему, вы захотите сохранить этот факт для этого пользователя, чтобы вы могли предоставлять функции, специфичные для Facebook. Я бы просто создал обычную учетную запись пользователя в базе данных для каждого нового пользователя Connect с его собственным локальным идентификатором, чтобы вам не приходилось выполнять специальную обработку двух различных типов учетных записей пользователей по всему сайту. При этом учетная запись, очевидно, должна быть помечена как учетная запись пользователя Facebook (я использую столбец externalId
в моей таблице пользователей), и любая часть сайта, которая опиралась бы на информацию, которую вы могли бы иметь локально, должна была бы обрабатываться. аспект Facebook (например, использование проксированной электронной почты вместо обычной электронной почты).
Для существующих пользователей вы могли бы организовать «ссылку на учетную запись», имея процесс, посредством которого они входят в FB Connect после того, как они уже вошли на сайт, и вы можете обнаружить это и просто добавить их идентификатор FB в свою таблицу пользователей. , После этого они могут войти в систему через Connect в будущем или через ваш обычный процесс. Я никогда этого не делал, но это должно быть возможно.
Если вы напишите код обработки учетной записи достаточно обобщенно, ваш сайт сможет нормально функционировать независимо от того, какого пользователя вы на него набрасываете.