2013-11-17 1 views
1

Я создаю веб-приложение, которое отслеживает время работы друзей на facebook в CherryPy (Python Web Framework), и мне было интересно, как можно будет получить время пользователя facebook в любой момент времени.Как я могу получить время пользователя facebook?

Если мне нужно сказать, что «друг А был в сети» в определенное время, он должен был бы соответствовать их часовым поясам, и, следовательно, я был немного в тупике.

Я играл с модулем pytz в python, но не повезло.

На данный момент, я извлекая «часовой пояс» для пользователя через FQL, а затем добавить значение часового пояса в базе данных:

user_details = fbconsole.fql("""SELECT uid, timezone, name FROM user WHERE uid = me()""") 

Я задаюсь вопросом о нескольких вещах:

  • Можно ли получить время, в которое друзья находятся в сети через Facebook API?
  • Можно ли альтернативно определить время клиента в любой момент времени, используя смещение часового пояса? (Если да, то как я не был в состоянии сделать это еще?)

Спасибо заранее

ответ

0

я был в состоянии решить эту проблему сам через следующий код:

from datetime import datetime 
from pytz import timezone 
#set user timezone (GMT +10) 
user_timezone = timezone('Etc/GMT+10') 
#convert local time to user time 
user_timezone_time = user_timezone.localize(datetime.now()) 
#format in 12hr time (%I for 12 hour time and %p for AM PM clarification) 
formatted_user_timezone = user_timezone_time.strftime('%Y-%m-%d %I:%M:%S %p %Z%z') 
print formatted_user_timezone 

Это позволило мне получить поле timezone из поля «пользователь» для Facebook API, а затем применить его с помощью кода выше, чтобы узнать местное время пользователя facebook.

Спасибо! Надеюсь, это поможет другим.