Google Groups Migration API gives 503 "Backend Error" - http-status-code-503

Getting the below 503 response from the Group Migration API's Insert method (https://developers.google.com/google-apps/groups-migration/v1/reference/archive/insert).
I'm just trying to work through a spike with the example payloads - though if I fiddle with the POST, I can get the 401 or 404 errors; cannot create the 400 error. Is anybody else using this API successfully? Are there temporal service issues with the service?
Thanks!
Chris
REQUEST:
POST https://www.googleapis.com/upload/groups/v1/groups/testmaspa#googlegroups.com/archive? uploadType=media HTTP/1.1
Content-Type: message/rfc822
Authorization: Bearer blah...
Host: www.googleapis.com
Content-Length: 470
Expect: 100-continue
Received: by 10.143.160.15 with HTTP; Mon, 16 Jul 2007 10:12:26 -0700 (PDT)
Message-ID: NNNN#mail.samplegroup.com
Date: Mon, 16 Jul 2007 10:12:26 -0700
From: "chris#mnaspa.org"
To: "chris#mnaspa.org"
Subject: TEST SUBJECT
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Delivered-To: testmaspa#googlegroups.com
This is the body of the migrated email message. Booyah!
RESPONSE:
HTTP/1.1 503 Service Unavailable
Server: HTTP Upload Server Built on Dec 3 2012 11:16:02 (1354562162)
Content-Type: application/json
Date: Sat, 08 Dec 2012 00:36:53 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Content-Length: 177
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": "Backend Error"
}
],
"code": 503,
"message": "Backend Error"
}

503 is overquota, typically...and it is happening a lot recently...might be due to some of the additions to the Group Settings API? We increased our quota and still received 500 errors.
We have a ticket in and it has been acknowledged as a problem and it is being investigated. Some stability has returned but it is still a large problem for us.
Our daily quota limit request has not been increased yet, but maybe those requests are reviewed weekly.
Best regards,
David

you should change Message-ID from NNNN#mail.samplegroup.com to <NNNN#mail.samplegroup.com>
Please see also Google Groups Migration C# API Not Working.

Related

Microsoft Graph API reports endpoint for GCC High not working?

I'm trying to access O365 reports via the Microsoft Graph API for a GCC High O365 tenant. I'm getting an error "Resource not found for the segment 'reports'". Should this be working or is there an issue with how I'm constructing the request?
The full trace is below,
Request =>
GET https://graph.microsoft.us/v1.0/reports/getOffice365ActiveUserDetail(period='D7') HTTP/1.1
SdkVersion: Graph-dotnet-1.10.0
Authorization: Bearer <JWT TOKEN REMOVED>
Cache-Control: no-store, no-cache
Host: graph.microsoft.us
Response =>
HTTP/1.1 400 Bad Request
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/json
request-id: 6d491a27-7343-48d5-b4df-0b47b26c5cb6
client-request-id: 6d491a27-7343-48d5-b4df-0b47b26c5cb6
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"USGov Iowa","Slice":"SliceC","Ring":"4","ScaleUnit":"000","Host":"AGSFE_IN_4","ADSiteName":"USI"}}
Duration: 2.1605
Strict-Transport-Security: max-age=31536000
Date: Tue, 24 Jul 2018 18:03:44 GMT
f1
{
"error": {
"code": "BadRequest",
"message": " .",
"innerError": {
"request-id": "6d491a27-7343-48d5-b4df-0b47b26c5cb6",
"date": "2018-07-24T18:03:44"
}
}
}
0
https://learn.microsoft.com/en-us/graph/deployments
Reports is not yet supported for US Gov Graph according to Microsoft.com

Get Akamai Token for IPTV HLS

Can anyone solve the way I can generate akamai streaming token from the browser when the android app is not available?
I get this string from the app :
<--
POST /api/tibo324/getakamaitoken HTTP/1.1
Content-Length: 328
Content-Type: application/x-www-form-urlencoded
Host: tibodrm.appspot.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
<--
auth=84Kwfr741QQv%252BnUMXtW%252FcbZ6aWNQKN0mCAVccmjo%252FXaf6PaB2pz7j3QqAlxHaj%252Fut%252Bu3vSzDt8NO%250AKqNBIgM7ckBedzNMkGOBRtlFfi3gAUuUzYvFN7U9ClHQKKWtfL%252F%252FyB2o1qyvGc2tY8i8lud%252F3tqg%250AhyjUvUD3Bib11V9aQqx8JOBslArMz%252FUaXLR0skPUETIeQatFmGmhFoyuyPhgbg%253D%253D%250A&AppID=v%252B10zWNKL8RJ8SY6LUSZXg%253D%253D%250A
-->
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 26 Dec 2017 22:24:09 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 118
Vary: Accept-Encoding
X-Powered-By: Express
ETag: W/"76-zi4HHRQAuAUejh/FF9M5ZFJtPek"
Via: 1.1 google
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35"
-->
?__token__=ip=00.000.00.000~exp=1514332929~acl=*~hmac=e9afdfe9f6b41c0ca14a16bc60a11253aecd432243789144c1ebaa70f23c615e
When I try to fetch the following URL:
https://tibodrm.appspot.com/api/tibo324/getakamaitoken?auth=84Kwfr741QQv%2BnUMXtW%2FcbZ6aWNQKN0mCAVccmjo%2FXaf6PaB2pz7j3QqAlxHaj%2FuFjEcIocduH6Z%0Awc5ZzKaqnmHhinePCNCcvQfh68bi2UvbZq04lBalY0job9%2FyVeuV1kh4hzWnP8sVuRozO27rFhSY%0AmDB8ck%2FuN0SqKEoxzycGUGhaZy3bjy88%2BhhwEMQknGNJ2j2JdMIHMT0AcLTFoQ%3D%3D%0A&AppID=v%2B10zWNKL8RJ8SY6LUSZXg%3D%3D%0A
I get a response in the browser:
Cannot GET /api/tibo324/getakamaitoken
What am I missing?
The answer is in your question: you can't GET the URL because it's accessed via POST only. And it looks like the POST requires an authentication string that's generated via the app. Making a POST without any data returns a descriptive error string:
$ http POST https://tibodrm.appspot.com/api/tibo324/getakamaitoken
HTTP/1.1 200 OK
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35"
Content-Encoding: gzip
Content-Type: application/json; charset=utf-8
Date: Wed, 27 Dec 2017 21:44:19 GMT
ETag: W/"31-zIZow+wVfq5Z3stS2NUNRdvP0go"
Server: nginx
Transfer-Encoding: chunked
Vary: Accept-Encoding
Via: 1.1 google
X-Powered-By: Express
{
"description": "no token at all",
"isValid": false
}
The inability to access the token generator through unauthenticated web calls is usually by design as the token is a protective tool Akamai provides customers to prevent access to content outside of the content provider's control.
In short, the content provider you're looking at doesn't want you to access their video outside of their application. If the application isn't able to access the video then you should reach out to the content provider to get that issue fixed rather than trying to circumvent their security scheme.

Proximity Beacon API, HTTP/1.1 403 Forbidden error

I've been reading about the Proximity Beacon API and running through the tutorial.
This part of the tutorial makes use the OAuth 2.0 Playground. I believe I've followed the tutorial as described but when I get to step 3 and press send, I got HTTP/1.1 403 Forbidden error
HTTP/1.1 403 Forbidden
Content-length: 104
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
X-goog-trace-id: 289418dcecc335c0fefb7456f402b0b5
Transfer-encoding: chunked
Vary: Origin, X-Origin, Referer
Server: ESF
-content-encoding: gzip
Cache-control: private
Date: Fri, 02 Jun 2017 07:28:32 GMT
X-frame-options: SAMEORIGIN
Alt-svc: quic=":443"; ma=2592000; v="38,37,36,35"
Content-type: application/json; charset=UTF-8
{
"error": {
"status": "PERMISSION_DENIED",
"message": "Unauthorized.",
"code": 403
}
}
In my google developers console I have the Google Proximity Beacon API enabled.
When Iam sending the request , iam getting the above type of error.
I must have missed something, but I'm not seeing it. Could anyone advise?
Regards,
Rajashekar

youtubeAnalytics.reports.query returns 403 forbidden

As a contentOwner, I'm trying to run a query using the Google API explorer and in return I get 403 forbidden, here are the steps to reproduce the issue:
login to google.com with collectivedigitalstudios#gmail.com
go to the API explorer and enter the wanted params (https://developers.google.com/apis-explorer/#p/youtubeAnalytics/v1/youtubeAnalytics.reports.query?ids=contentOwner%253D%253DCollective&start-date=2013-08-01&end-date=2013-08-02&metrics=views&filters=channel%253D%253DUCYjk_zY-iYR8YNfJmuzd70A&_h=1&)
authorize the requested scopes:
https://www.googleapis.com/auth/yt-analytics-monetary.readonly
https://www.googleapis.com/auth/yt-analytics.readonly
Execute
here's the complete request/response:
youtubeAnalytics.reports.query executed 14 minutes ago time to execute: 796 ms
You do not have permission to execute this method.
Request
GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=contentOwner%3D%3DCollective&start-date=2013-08-01&end-date=2013-08-02&metrics=views&filters=channel%3D%3DUCYjk_zY-iYR8YNfJmuzd70A&key={YOUR_API_KEY}
Authorization: Bearer ya29.AHES6ZQM1y53hLCD4uBa5BSjACg1Pr8NK4WmUUm_jyuxKYhVqA
X-JavaScript-User-Agent: Google APIs Explorer
Response
403 Forbidden
- Hide headers -
cache-control: private, max-age=0
content-encoding: gzip
content-length: 118
content-type: application/json; charset=UTF-8
date: Thu, 15 Aug 2013 18:21:38 GMT
expires: Thu, 15 Aug 2013 18:21:38 GMT
server: GSE
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
I opened a bug and it was closed as "WorksForMe". well, it doesn't.
Any suggestions?
you can try this:
https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3D<YOUR_CHANNEL_ID>&start-date=2013-12-30&end-date=2014-01-05&metrics=views%2Cuniques%2Clikes%2Cdislikes%2Ccomments%2Cshares&dimensions=day&filters=video%3D%3D<YOUR_VIDEO>&sort=-day
And add in the scope: https://www.googleapis.com/auth/youtube

document list api create failed

The request below fails and I am not able to figure out why, any insights?
var atom = ["<?xml version='1.0' encoding='UTF-8'?>",
'<entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007">',
'<category scheme="http://schemas.google.com/g/2005#kind"',
' term="http://schemas.google.com/docs/2007#document"/>',
'<title>', titleDoc, '</title>',
'</entry>'].join('');
xhr.open('POST', URI , true);
xhr.setRequestHeader('Content-type', 'application/atom+xml');
//xhr.setRequestHeader('GData-Version', '3.0');
xhr.setRequestHeader('X-Upload-Content-Length', '0');
xhr.setRequestHeader('Authorization', 'OAuth ' + google.getAccessToken());
xhr.send(atom);
This is the request/response packet from the servers
Request URL:https://docs.google.com/feeds/upload/create-session/default/private/full
Request Method:POST
Status Code:400 Bad Request
Request Payload
<?xml version='1.0' encoding='UTF-8'?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007"><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/docs/2007#document"/><title>test</title></entry>
Response Headersview source
cache-control:no-cache, no-store, must-revalidate
content-length:19
content-type:text/html; charset=UTF-8
date:Sun, 01 Jul 2012 06:46:21 GMT
expires:Fri, 01 Jan 1990 00:00:00 GMT
pragma:no-cache
server:HTTP Upload Server Built on Jun 14 2012 02:12:09 (1339665129)
status:400 Bad Request
version:HTTP/1.1
The repose with gdata Version uncommented, but this still does not create a doc in the google docs
HTTP/1.1 200 OK
status: 200 OK
version: HTTP/1.1
cache-control: no-cache, no-store, must-revalidate
content-length: 0
content-type: text/html; charset=UTF-8
date: Sun, 01 Jul 2012 21:02:16 GMT
expires: Fri, 01 Jan 1990 00:00:00 GMT
location: https://docs.google.com/feeds/upload/create-session/default/private/full?convert=false&upload_id=AEnB2UoaVeHUGhiIgKm9fL-WL_Fd1DdAAh7rdYDx6G6cseLwHgAMBfkdt42kf9YiKFJ8q9tiZ8vLVUb3Sr-KVUZi01m3vY6ZUw
pragma: no-cache
server: HTTP Upload Server Built on Jun 14 2012 02:12:09 (1339665129)
You can use simple upload to create an empty file, just replace your url with https://docs.google.com/feeds/default/private/full and uncomment the GData-Version header.
Another option (recommended) would be to use the files.insert method of the new Google Drive API instead.

Resources