2014-01-08 4 views
0

Я пытаюсь создать новое событие, используя камень Koala, и он возвращается с той же ошибкой, что и я, когда пытался обновить событие с неверно отформатированным значением datetime.Put_connections, чтобы создать новое событие с Koala?

Я могу обновить только сейчас, но все равно не могу создать событие.

Вот код, я использую на моем методе обновления, который работает:

start_time = safe_params[:start_time].in_time_zone 
end_time  = safe_params[:end_time].in_time_zone 

graph.put_connections(safe_params[:fb_id], "event", { 
    name: safe_params[:name], 
    description: safe_params[:description], 
    privacy: safe_params[:privacy] 
}) 

И вот код, который я пытаюсь использовать для создания нового объекта события:

graph.put_connections("/me/events", "event", { #this is the line that errors 
    name: safe_params[:name], 
    description: safe_params[:description], 
    privacy: safe_params[:privacy] 
}) 

Согласно Facebook, документация о создании события (https://developers.facebook.com/docs/graph-api/reference/user/events/), я должен был бы создать новое событие, просто отправив сообщение в/me/events. У кого-нибудь есть идея?

Я также попытался:

graph.put_connections("/"+current_user.fb_id.to_s+"/events", "event", { 

Спасибо!

ответ

0

Так после того, как Мессинг с Facebook, Graph Explorer, и попытки сотни различных комбинаций с put_connections я решил сделать прямой graph_call с помощью Koala.

Наконец-то получил ответ ID. Я почти заплакал. Думал, что я поделюсь с сообществом, если кто-то еще попытается сделать то же самое.

event_response = graph.graph_call("/me/events",{ 
    name:safe_params[:name], 
    start_time: safe_params[:start_time], 
    privacy_type: safe_params[:privacy], 
    access_token: current_user.oauth_token}, "POST") 
safe_params[:fb_id] << event_response["id"] 
@event = Event.create safe_params 

Я делаю вызов в сохраненной переменной event_response, потому что возвращенный Facebook-идентификатор используется в моем приложении.

Первое, что я выяснил: несмотря на использование «конфиденциальности» в качестве названия поля конфиденциальности, когда GETting из Facebook и так говорится в их документации, «privacy_type» на самом деле является тем, что вы хотите (обнаружил это в другом сообщении SO) ,

Вторая вещь, о которой я узнал, даже если вы аутентифицированы (иметь токен пользователя), когда вы создаете graph_call, который вам нужно пройти через токен доступа current_user вместе с созданием POST graph_call.

Надеюсь, это поможет кому-то!

0

Что произойдет, если вы сделаете что-нибудь подобное?

graph.put_connections("me", "events", { 
    name: safe_params[:name], 
    description: safe_params[:description], 
    privacy: safe_params[:privacy], 
    start_time: ..., 
    end_time: ... 
}) 
+0

Привет @Guy ... Я все тот же тип: OAuthException, код: 100, сообщение: (# 100) Неверный параметр [HTTP 400] ошибка. – j0e