如何请求 addDelegates ? 415错误
how to request addDelegates ? 415 error
我可能需要通过 php 中的 POST 操作访问电子邮件设置 api。
但我总是得到这个错误:
无法打开流:HTTP 请求失败! HTTP/1.0 415 不支持的媒体类型
这是我的代码:
public function addDelegates($account,$delegates,$domain,$tokken) {
foreach ($delegates as $key => $value) {
sleep(5);
$url = "https://apps-apis.google.com/a/feeds/emailsettings/2.0/".$domain."/".$account."/delegation";
$requestXML = '<?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="address" value="' . $value . '" />
</atom:entry>';
$requestHeaders = array(
'Content-type: application/xml+atom',
'Accept: application/xml+atom',
sprintf('Content-Length: %d', strlen($requestXML))
);
$context = stream_context_create(
array(
'http' => array(
'method' => 'POST',
'header' => implode("\r\n", $requestHeaders),
'content' => $requestXML,
)
)
);
$responseXML = file_get_contents($url, false, $context);
}
我看到这个错误意味着我可能发送了错误的内容类型。但我尝试了 application/json、application/xml、text/xml 等..
关于我们必须在 emailSettings 中发送哪些数据,没有任何明确的规定 api doc :/
提前致谢。
我认为您发布的代码中的内容类型不正确。将内容类型更改为 "application/atom+xml" 而不是 application/xml+atom。这应该可以解决您的 415 错误。
我可能需要通过 php 中的 POST 操作访问电子邮件设置 api。
但我总是得到这个错误: 无法打开流:HTTP 请求失败! HTTP/1.0 415 不支持的媒体类型
这是我的代码:
public function addDelegates($account,$delegates,$domain,$tokken) {
foreach ($delegates as $key => $value) {
sleep(5);
$url = "https://apps-apis.google.com/a/feeds/emailsettings/2.0/".$domain."/".$account."/delegation";
$requestXML = '<?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="address" value="' . $value . '" />
</atom:entry>';
$requestHeaders = array(
'Content-type: application/xml+atom',
'Accept: application/xml+atom',
sprintf('Content-Length: %d', strlen($requestXML))
);
$context = stream_context_create(
array(
'http' => array(
'method' => 'POST',
'header' => implode("\r\n", $requestHeaders),
'content' => $requestXML,
)
)
);
$responseXML = file_get_contents($url, false, $context);
}
我看到这个错误意味着我可能发送了错误的内容类型。但我尝试了 application/json、application/xml、text/xml 等..
关于我们必须在 emailSettings 中发送哪些数据,没有任何明确的规定 api doc :/
提前致谢。
我认为您发布的代码中的内容类型不正确。将内容类型更改为 "application/atom+xml" 而不是 application/xml+atom。这应该可以解决您的 415 错误。