2015-11-19 6 views
0

Для HTML-типа календаря на боковой панели гаджета с модулем префов,osapi.people.get() возвращает 404 в Google календарь боковой панели гаджета

<Require feature="opensocial-0.9"/> 
<Require feature="osapi" /> 

, где вызовы osapi.http все успешно отправить, это приводит к 404 ответ:

osapi.people.get({userId:'@viewer'}).execute(function(response) { 
    console.log(response); 
}); 

Это завернутые в POST к тому же RPC конечной точки, как и osapi.http вызовов, с почтового объекта, как и ожидалось:

[{"method":"people.get","id":"people.get","params":{"userId":"@viewer","groupId":"@self"}}] 

Не было различий в поведении с osapi.http или osapi.people, когда гаджет Требуется либо opensocial-0.8, либо opensocial-0.9. Я предположил, что для этого вызова не требуется токена аутентификации - это правда? Поддерживает ли календарь Google osapi.people?

ответ

0

Вместо этого я использовал клиентскую библиотеку JS API и следовал за последовательностью в Authentication using the Google APIs Client Library for JavaScript. Ваши области могут содержать либо явные URL-адреса, либо заявки, например «openid» (см. OpenID Connect explained). Это приведет к

GET https://accounts.google.com/o/oauth2/auth?client_id=... 

где URL параметра запроса «происхождения» (например: https://....opensocial.googleusercontent.com) должен быть среди вашего Уставного происхождения Javascript для вашего клиента в Google Developers Console.

Возвращенный authResult должен содержать access_token. Если нет, то возможные причины authResult.error_subtype ...

  • 'origin_mismatch': происхождение не входит в число разрешенных происхождения
  • 'ACCESS_DENIED': сфера применения не включают в себя URL личности или ''
  • OpenID