2015-04-09 3 views
-1

Я пытаюсь обновить подпись с помощью настроек электронной почты Google api. Домен является учетной записью EDU, пользователь, о котором идет речь, является супер-администратором. После успешного получения токена OAuth 2.0, я выпустить этот PHP локон код:Настройки электронной почты Google api error 403 с php curl

$mydomain = '<mydomain.com>'; 
$myuser = '<myusername>'; 
$token = '<mytoken>'; 
$url = 'https://apps-apis.google.com/a/feeds/emailsettings/2.0/'.$mydomain.'/'.$myuser.'/signature' 
$data = '<?xml version="1.0" encoding="utf-8"?> 
     <atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006"> 
     <apps:property name="signature" value="blabla" /> 
     </atom:entry>'; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/atom+xml', 'Authorization: Bearer '.$token)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $output = curl_exec ($ch); 

    curl_close ($ch); 

что приводит:

You are not authorized to access this API. Error 403

Из других вопросов говорилось here о client_id при получении уполномоченным, у меня есть попробовал это с адресом gserviceaccount.com и адресом googleusercontent.com с теми же результатами.

Что я здесь делаю неправильно?

+0

Возможно, слишком простое мышление, но вы пробовали называть его как http вместо https? – stevenvanc

+0

не аутентифицирован. Возможно, вы захотите исправить это в первую очередь. – DaImTo

+0

@DalmTo Его код, см. Отправленный заголовок, заключается в аутентификации и выполнении действия. Вы можете повторить свой вопрос. – stevenvanc

ответ

0

Чтобы ответить на мой собственный вопрос: после разговора с репутацией Google я узнал, что настройки электронной почты апи не может быть использован с помощью стандартного «веба-приложение» разрешения, но необходимо использовать через «учетную запись службы»:

https://developers.google.com/identity/protocols/OAuth2ServiceAccount

Смежные вопросы