Re: [google-appengine] Changing billing administrator

2011-06-19 Thread Robert Kluin
You should probably submit a billing issue.  There is a link to the format.
the bottom of the billing FAQ.
http://code.google.com/appengine/kb/billing.html

Might also want to get a new credit card lined up
On Jun 18, 2011 10:00 PM, "Konstantin Solomatov" <
konstantin.soloma...@gmail.com> wrote:
> Hello,
>
> My credit card had expired so I want to change a billing administrator
> for my application. However, my previous account with the expired cred
> card is charged and charge isn't successful. I can't change billing
> administrator because the application said:Billing Status: Charge
> Issued: $30.86
> A charge has been issued to the billing administrator. (You will be
> able to make changes to your budget settings again once the
> outstanding payment is processed.)
>
> What can I do to fix it? I currently don't have a valid credit card so
> my payment can't be processed successfully
>
> Regards,
> Konstantin
>
> --
> You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Generate valid datastore key manually

2011-06-19 Thread Yohan
Hi Guys,

I've been trying to generate a valid datastore Key manually in
javascript. For some reason, i need the javascript to know the keys of
the objects the server will generate before sending the request to the
server (as long as both JS and Servlet generate the keys the same
way).

I couldn't find anywhere in the doc how the keys are generated. I
tried decoding the keys but it includes a few binary data that changes
depending on keys parents and stuff.

Could we have access to the keys generation algorithm ?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] issues if i switch to federated login

2011-06-19 Thread Robert Kluin
It is a known and very annoying issue, star bug 3258.
http://code.google.com/p/googleappengine/issues/detail?id=3258
On Jun 18, 2011 9:35 AM, "andreas schmid"  wrote:
> hi,
>
> if i switch to federated login i cant access my app with with the remote
api shell and the datastore admin gives me a 404.
> why is that?
>
> thank you
>
> --
> You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Generate valid datastore key manually

2011-06-19 Thread Robert Kluin
The SDK is open source, so yes.  However, there is no need to generate the
encoded key on the client.  Why not just generate a GUID and use that as the
key name?  Or, setup an API in your app that you make an AJAX call to that
returns a key for you?

If you are still interested in the code:
http://code.google.com/p/googleappengine/source/browse/#svn%2Ftrunk%2Fpython%2Fgoogle%2Fappengine

Robert
On Jun 19, 2011 4:18 AM, "Yohan"  wrote:
> Hi Guys,
>
> I've been trying to generate a valid datastore Key manually in
> javascript. For some reason, i need the javascript to know the keys of
> the objects the server will generate before sending the request to the
> server (as long as both JS and Servlet generate the keys the same
> way).
>
> I couldn't find anywhere in the doc how the keys are generated. I
> tried decoding the keys but it includes a few binary data that changes
> depending on keys parents and stuff.
>
> Could we have access to the keys generation algorithm ?
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Uploading large file as a part of war

2011-06-19 Thread rishi
Hi,

I  am not sure if I can break up the file as I am not aware of the
file format used.

Can use the file as runtime resource in my war just like the jar?

Thanks

On Jun 17, 7:13 pm, "Ikai Lan (Google)"  wrote:
> Any chance you can break the file up?
>
> That or can you use the blobstore for the file?
>
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog:http://googleappengine.blogspot.com
> Twitter:http://twitter.com/app_engine
> Reddit:http://www.reddit.com/r/appengine
>
> On Fri, Jun 17, 2011 at 6:14 PM, rishi  wrote:
> > I have written an app and successfully tested it locally with the SDK.
> > It uses some large tagger files to tag my data. The size of one file
> > goes over 20MB. I need these files in my war to run the app. Locally
> > it runs fine as it is a part of my war.
>
> > When I try to upload it using" appengine-java-sdk\bin\appcfg.cmd
> > update " command, it gives an error and indicates that there is a
> > size limit on every file that can be uploaded. (which is 10 MB).
>
> > Can ayone tell me what is the solution to this problem?
>
> > Thanks.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Uploading large file as a part of war

2011-06-19 Thread rishi
Hi,

Thanks for reply. Does this work for other file formats too? Which are
not .jar files?

Thanks...

On Jun 18, 12:15 pm, Renan Mobile  wrote:
> Hello Rishi,
>
> I face this problem and i'm using the follow parameter on the command: *
> --enable_jar_splitting*
> The full comand:
> *appcfg.sh --enable_jar_splitting update war/*
>
> Hope this help.
>
> 2011/6/17 rishi 
>
>
>
> > I have written an app and successfully tested it locally with the SDK.
> > It uses some large tagger files to tag my data. The size of one file
> > goes over 20MB. I need these files in my war to run the app. Locally
> > it runs fine as it is a part of my war.
>
> > When I try to upload it using" appengine-java-sdk\bin\appcfg.cmd
> > update " command, it gives an error and indicates that there is a
> > size limit on every file that can be uploaded. (which is 10 MB).
>
> > Can ayone tell me what is the solution to this problem?
>
> > Thanks.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> Atenciosamente,
>
> -
> Presidente Renan Franca
> 
> Renan Mobile ltda:http://renanmobile.com- Soluções em Dispositivos Móveis
> (Smartphones) com integração via web.
> Soluções em:
>         Android (Smartphones);
>         Google Web Toolkit (Web);

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: App Engine Chat Time!

2011-06-19 Thread mr.gideon morrow


Iknow   someone   whocanmakeit   avaribibale"


 

.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/STcLJNwY52QJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: MailService Exception after exactly 66 messages

2011-06-19 Thread NRworld Apps
Hi,

Thanks for replying, but my mail quota is still under the max limit. I am
still clueless about this issue. And I do not have any other applications on
this account which are sending emails.

MailMail API Calls
[image: 61%]
61%61 of 100OkayRecipients Emailed
[image: 3%]
3%66 of 2,000OkayAdmins Emailed
[image: 0%]
0%0 of 5,000OkayMessage Body Data Sent
[image: 0%]
0%0.00 of 0.06 GBytesOkayAttachments Sent
[image: 0%]
0%0 of 2,000OkayAttachment Data Sent
[image: 0%]
0%0.00 of 0.10 GBytesOkay

On Sat, Jun 18, 2011 at 8:43 PM, Branko Vukelic  wrote:

> Email has multiple quotas. It's not just the number of email sent, but
> also the size of the messages, etc.
>
> Mail API Calls 100
> Recipients Emailed 2,000
> Admins Emailed 0 of 5,000
> Message Body Data Sent 0.06 GBytes
> Attachments Sent 2,000
> Attachment Data Sent 0.10 GBytes
>
> You can see how you're doing in Quota details section.
>
> On Sun, Jun 19, 2011 at 2:36 AM, nrworld  wrote:
> > I forgot to mention that the email-id are proper and do not contain
> > any " or any spl. character. It just that for some reason, the app
> > will stop sending emails after 66 emails (App Dashboard shows 66mails
> > sent).
> >
> > Even re-uploading the app does not solve the issue.
> >
> >
> > On Jun 18, 5:52 pm, nrworld  wrote:
> >> Hi,
> >>
> >> This is something strange that is happening with my app. It stops
> >> sending new mail after 66 mails everyday (I can send mail again after
> >> quota reset). Any pointers would be very helpful.
> >>
> >> The following is the portion of my code which sends email:
> >>
> >> public String sendEmail(InviteeInfo inviteeInfo) throws Exception {
> >> CapabilitiesService service = CapabilitiesServiceFactory
> >> .getCapabilitiesService();
> >> CapabilityStatus status =
> service.getStatus(Capability.MAIL)
> >> .getStatus();
> >>
> >> if (status == CapabilityStatus.DISABLED) {
> >> throw new Exception("Google mail service is
> unavailable");
> >> }
> >>
> >> Properties props = new Properties();
> >> Session session = Session.getDefaultInstance(props,
> null);
> >>
> >> String msgBody = getEmailBody(inviteeInfo);
> >>
> >> try {
> >> Message msg = new MimeMessage(session);
> >> msg.setFrom(new InternetAddress(
> >> "
> this_is_myreal_gmail...@gmail.com", "APP OWNER"));
> >>
> >> msg.addRecipient(Message.RecipientType.TO, new
> InternetAddress(
> >> inviteeInfo.getEmailId().trim(),
> inviteeInfo.getCallName()
> >> .trim()));
> >> msg.addRecipient(Message.RecipientType.BCC, new
> InternetAddress(
> >> user.getEmail(),
> user.getNickname()));
> >> msg.setSubject(" You Are Invited ");
> >> msg.setContent(msgBody, "text/html");
> >> msg.addHeader("Content-Type", "text/html");
> >> Transport.send(msg);
> >> } catch (Exception e) {
> >> log.warning("Exception at " +
> inviteeInfo.getEmailId()
> >> + " from your id " +
> user.getEmail() + "\n"
> >> + getException(e));
> >> }
> >> return "not successful";
> >> }
> >>
> >> Exception points to the line - "Transport.send(msg);", which means
> >> that the Google mail service was up and running at the time.
> >>
> >> And this is the exception message
> >> net.nrworld.server.InviteManagerServiceImpl sendEmail:
> >> javax.mail.SendFailedException: MailService IO failed
> >> (java.io.IOException: Internal error)
> >> at
> >>
> com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:
> >> 253)
> >> at javax.mail.Transport.send(Transport.java:95)
> >> at javax.mail.Transport.send(Transport.java:48)
> >> at
> >>
> net.nrworld.server.InviteManagerServiceImpl.sendEmail(InviteManagerServiceImpl.java:
> >> 217)
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> >> 57)
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> >> 43)
> >> at java.lang.reflect.Method.invoke(Method.java:616)
> >> at
> >>
> com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_
> >> $1.run(Method_.java:165)
> >> at java.security.AccessController.doPrivileged(Native Method)
> >> at
> >>
> com.google.appho

Re: [google-appengine] Re: Task queue not scaling up!

2011-06-19 Thread Robert Kluin
Slow tasks don't get ran nearly as aggressively, at least not in my experience. 
I've found that I can pump far, far more tasks through if I keep tasks fast 
(sub 1000ms).

Are you seeing pending ms values in your logs?

Robert



On Jun 18, 2011, at 22:52, Waleed Abdulla  wrote:

> I think I narrowed the issue a little bit. Added a lot of logging.info() 
> statements and I noticed the following:
> 
> 1. The time between inserting a task and when it starts running is too long: 
> 5 - 20 seconds. Typically tasks should execute right away after inserting if 
> you're below the queue rate. That's issue #1
> 
> 2. I put a timer in my code to calculate the time it takes to execute each 
> task. When I compare that time with the time app engine reports in the logs, 
> there is a big difference. 5 - 20 seconds. For example, processing a task 
> takes 25 seconds, of which only 10 seconds is actually spent inside my code. 
> So the infrastructure is keeping requests on hold for a while before they get 
> executed. That's issue #2
> 
> When I compare the delay in #1 to the time difference calculated in #2, 
> they're very close and they correlate (i.e. they go up and down together). So 
> that means that issue #1 is probably caused by issue #2. (i.e. tasks do get 
> picked for execution right away, but the actual execution doesn't start until 
> 5 - 20 seconds later). 
> 
> There seems to be an infrastructure problem in GAE. Maybe GAE is 
> experiencing high load, too much network traffic, ..etc. Whatever the reason, 
> it seems that requests are waiting in a queue for too long before they run. 
> 
> Does anyone notice any issues that confirm or deny the above? Any ideas 
> how to work around it?
> 
> Waleed
> 
> 
> 
> 
> 
> 
> On Sat, Jun 18, 2011 at 7:45 PM, Chiguireitor  
> wrote:
> The other issue is that each task spawns a new instance... could you be 
> hitting a max instance limit there? i really don't know if there's an 
> instance limit... but could happen
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/google-appengine/-/nsxW4XGycnwJ.
> 
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Uploading large file as a part of war

2011-06-19 Thread Renan Mobile
Hi,
I really don't know, but give a try and tell me if its work. Ok?
Em 19/06/2011 07:46, "rishi"  escreveu:
>
> Hi,
>
> Thanks for reply. Does this work for other file formats too? Which are
> not .jar files?
>
> Thanks...
>
> On Jun 18, 12:15 pm, Renan Mobile  wrote:
> > Hello Rishi,
> >
> > I face this problem and i'm using the follow parameter on the command: *
> > --enable_jar_splitting*
> > The full comand:
> > *appcfg.sh --enable_jar_splitting update war/*
> >
> > Hope this help.
> >
> > 2011/6/17 rishi 
> >
> >
> >
> > > I have written an app and successfully tested it locally with the SDK.
> > > It uses some large tagger files to tag my data. The size of one file
> > > goes over 20MB. I need these files in my war to run the app. Locally
> > > it runs fine as it is a part of my war.
> >
> > > When I try to upload it using" appengine-java-sdk\bin\appcfg.cmd
> > > update " command, it gives an error and indicates that there is a
> > > size limit on every file that can be uploaded. (which is 10 MB).
> >
> > > Can ayone tell me what is the solution to this problem?
> >
> > > Thanks.
> >
> > > --
> > > You received this message because you are subscribed to the Google
Groups
> > > "Google App Engine" group.
> > > To post to this group, send email to google-appengine@googlegroups.com
.
> > > To unsubscribe from this group, send email to
> > > google-appengine+unsubscr...@googlegroups.com.
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine?hl=en.
> >
> > --
> > Atenciosamente,
> >
> > -
> > Presidente Renan Franca
> > 
> > Renan Mobile ltda:http://renanmobile.com- Soluções em Dispositivos
Móveis
> > (Smartphones) com integração via web.
> > Soluções em:
> > Android (Smartphones);
> > Google Web Toolkit (Web);
>
> --
> You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] R: Re: Question about Task's Fork Bomb

2011-06-19 Thread Robert Kluin
You've not given the code for what ever inserts task1, or the task it inserts.  
So the isse could be in several spots.  But from your code, if task1 happens to 
run twice, either due to a failure or because it decided to run twice, then you 
get two of the "/anothertask" tasks running. If anothertask also inserts a 
task... Then you've got a setup with potential problems.

Robert



On Jun 18, 2011, at 5:38, BarrenTeam  wrote:

> Thanks for the answers. I already know the mechanism for avoid bomb fork. 
> 
> But my question is: WHY and HOW can task's bomb fork happen in the code above?
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/google-appengine/-/SgzC1m1qMmAJ.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: 1.5.1 SDK Prerelease

2011-06-19 Thread Jay Young
Just downloaded the new "appengine-java-sdk-1.5.1_prerelease.zip" and ran 
the dev_appserver, only to receive the following exception.  The Jetty 
server starts up as expected, but will only serve 503s.

WARNING: Failed startup of context 
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@4463a1ae{/,/devel/rblog/WAR}
java.lang.NullPointerException
at 
com.google.appengine.tools.appstats.Recorder.checkNotNull(Recorder.java:365)
at com.google.appengine.tools.appstats.Recorder.(Recorder.java:207)
at com.google.appengine.tools.appstats.Recorder.(Recorder.java:197)
at 
com.google.appengine.tools.appstats.AppstatsFilter.init(AppstatsFilter.java:183)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at 
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at 
com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:186)
at 
com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:162)
at 
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:164)
at 
com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:164)
at 
com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at 
com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:113)
at 
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/6ifJrc2tLl8J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Whitelisting App Engine IPs in Google APIs console

2011-06-19 Thread Alexander Konovalenko
When you are using a Google API (such as the Prediction API) from a
server-side app, the Google APIs Console lets you limit API requests
to those originating from known IP addresses or ranges [1, 2]. If you
set a whitelist and an API request comes from a non-whitelisted
address, the request will be rejected.

This can be really useful if you use some Google APIs from
browser-embedded JavaScript and other Google APIs only from server
side. All APIs share the same API key which can be retrieved by
examining or debugging your JavaScript. A malicious third party could
learn your API key by viewing the source of your site and then use the
key to issue calls to other Google APIs in your name, even if you only
use those other APIs from your server-side app.

Currently we cannot whitelist App Engine because the IP addresses used
by the app servers, backends and the URL fetch service are not known
in advance. I filed a request to add a button on the Google APIs
console to whitelist App Engine. If you're interested, feel free to
star it or add your comments:

http://code.google.com/p/googleappengine/issues/detail?id=5219

[1] Google APIs Console, Quotas pane
https://code.google.com/apis/console#:quotas

[2] Google APIs Console Help, section "Whitelisting by IP Address
(Server-side applications)"
https://code.google.com/apis/console-help/#whitelistingbyip

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] high replication datastore and 'old app' questions

2011-06-19 Thread Robert Kluin
Hey Andreas,
   It sounds like you're talking about the difference in your storage quota 
used and the total size of entities in your datastore statistics. That 
difference could be due to indexes, unfortunately indexes aren't included in 
the datastore stats. Star issue 2740. 
http://code.google.com/p/googleappengine/issues/detail?id=2740

Also, the counts and statistics aren't realtime. They may be delayed by a day.  
Your blobs and tasks also count against the stored data quota. 

The main spots you need to consider entity groups are queries.  By default, 
db.gets by key are always strongly consistent.  You'll need to decide if your 
queries need strong consistency or not. If you give us some details, I'm sure 
someone will offer some design ideas. 

Robert



On Jun 18, 2011, at 6:28, andreas schmid  wrote:

> hi,
> 
> i wrote a python app before the high replication datastore was introduced and 
> i don't use entity groups like in the tutorials for the hr datastore.
> i deployed this app with some test data to a hr appid and i see that i have 
> 1,5gb of stored data but only 0,4gb of high replication data. 
> what does that exactly mean?
> 
> will it work as it did on the master slave but it will not use the hr 
> datastore? will i have issues with inconsistent data?
> 
> thank you
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Task queue not scaling up!

2011-06-19 Thread Kaan Soral
I have your problem too,

I haven't checked the situation since weeks but right after
development a mapreduce job, which was doing 800k operations was
showing results in ~30 minutes, but that time increased to 3 hours ...

I guess this is because they are re-designing appengine in a wrong
direction

In future we will get charged by instance usage, so you wouldn't want
70 instances, and I guess the modifications are in that direction

I don't like this, but I wouldn't want to pay a lot either,

sad ...

On Jun 19, 8:52 am, Waleed Abdulla  wrote:
> I think I narrowed the issue a little bit. Added a lot of logging.info()
> statements and I noticed the following:
>
> 1. The time between inserting a task and when it starts running is too long:
> 5 - 20 seconds. Typically tasks should execute right away after inserting if
> you're below the queue rate. That's issue #1
>
> 2. I put a timer in my code to calculate the time it takes to execute each
> task. When I compare that time with the time app engine reports in the logs,
> there is a big difference. 5 - 20 seconds. For example, processing a task
> takes 25 seconds, of which only 10 seconds is actually spent inside my code.
> So the infrastructure is keeping requests on hold for a while before they
> get executed. That's issue #2
>
>     When I compare the delay in #1 to the time difference calculated in #2,
> they're very close and they correlate (i.e. they go up and down together).
> So that means that issue #1 is probably caused by issue #2. (i.e. tasks do
> get picked for execution right away, but the actual execution doesn't start
> until 5 - 20 seconds later).
>
>     There seems to be an infrastructure problem in GAE. Maybe GAE is
> experiencing high load, too much network traffic, ..etc. Whatever the
> reason, it seems that requests are waiting in a queue for too long before
> they run.
>
>     Does anyone notice any issues that confirm or deny the above? Any ideas
> how to work around it?
>
> Waleed
>
> On Sat, Jun 18, 2011 at 7:45 PM, Chiguireitor
> wrote:
>
>
>
>
>
>
>
> > The other issue is that each task spawns a new instance... could you be
> > hitting a max instance limit there? i really don't know if there's an
> > instance limit... but could happen
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To view this discussion on the web visit
> >https://groups.google.com/d/msg/google-appengine/-/nsxW4XGycnwJ.
>
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



RE: [google-appengine] Whitelisting App Engine IPs in Google APIs console

2011-06-19 Thread Brandon Wirtz
It is safer for you and for the people whose API you are accessing to put a
Proxy in the middle.  I do this with a PHP proxy on another host.  (search
the archive for the code)

Whitelisting Multi-tenant IP's effectively negates the API IP Restriction,
and allows someone to hit the API via a GAE Proxy.  (which is why lots of
API's don't work from GAE)

-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Alexander
Konovalenko
Sent: Sunday, June 19, 2011 11:48 AM
To: Google App Engine group
Subject: [google-appengine] Whitelisting App Engine IPs in Google APIs
console

When you are using a Google API (such as the Prediction API) from a
server-side app, the Google APIs Console lets you limit API requests to
those originating from known IP addresses or ranges [1, 2]. If you set a
whitelist and an API request comes from a non-whitelisted address, the
request will be rejected.

This can be really useful if you use some Google APIs from browser-embedded
JavaScript and other Google APIs only from server side. All APIs share the
same API key which can be retrieved by examining or debugging your
JavaScript. A malicious third party could learn your API key by viewing the
source of your site and then use the key to issue calls to other Google APIs
in your name, even if you only use those other APIs from your server-side
app.

Currently we cannot whitelist App Engine because the IP addresses used by
the app servers, backends and the URL fetch service are not known in
advance. I filed a request to add a button on the Google APIs console to
whitelist App Engine. If you're interested, feel free to star it or add your
comments:

http://code.google.com/p/googleappengine/issues/detail?id=5219

[1] Google APIs Console, Quotas pane
https://code.google.com/apis/console#:quotas

[2] Google APIs Console Help, section "Whitelisting by IP Address
(Server-side applications)"
https://code.google.com/apis/console-help/#whitelistingbyip

--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: FAQ for out of preview pricing changes

2011-06-19 Thread nickmilon
@Nickolas Daskalou + 1
except for the part of free quotas.
You need those in order to attract developers to try out the platform
and build up the eco system.
Without a strong & healthy ecosystem no platform can survive for long.
Still there are other solutions to this (i.e. limit to 1 year or less
as Amazon is doing)

See also my notes here:
http://gaengine.blogspot.com/2011/05/new-app-engine-pricing-policy-good-bad.html

happy coding (or waiting)  ;-)
Nick

On Jun 19, 7:09 am, Nickolas Daskalou  wrote:
> Hi Greg,
>
> Yet another "2nd 'next week' ending" has come and gone (for those playing at
> home, that makes 4 weeks).
>
> The application we had been working on has been halted in light of the new
> pricing announcement, and we have been waiting for some good news for a
> while now. Is there any update you can give us?
>
> I feel your initial announcement was made a little prematurely, and by
> greedy corporates with dollar signs in their eyes, who are not at all in
> touch with the App Engine community. If they had been, they would have known
> that a major selling point of App Engine was its "pay for what you use"
> pricing model.
>
> As has been mentioned earlier, the new proposed prices are almost absurd
> when compared with other cloud computing providers. Even if App Engine
> finally gets full multithreading support, an App Engine instance will still
> cost over 10x that of an equivalent, less handicapped instance on Amazon
> EC2.
>
> Given the old (current?) pricing scheme, I think the logical thing would
> have been to start charging users for RAM consumption (which has already
> been mentioned in other threads). A "pay for what you use" hosting service
> can indeed work, just take a look at NearlyFreeSpeech.net.
>
> Due to the overhead of running a PaaS as opposed to an IaaS, App Engine
> obviously cannot be as cheap as EC2, but a >10x price difference is
> definitely not a true reflection of this overhead. In my opinion, doubling
> the EC2 price to remove server administration headaches from developers
> would be reasonable, but beyond that it may not make sense for a developer
> to pay such a high premium when they can administer an EC2 stack themselves
> with less restrictions than App Engine, and save a considerable amount of
> money in the process.
>
> Sticking to your guns with this new pricing scheme could be the beginning of
> the end for App Engine. A company wishing to build the next big app can
> easily play with the numbers and realise that if they get decent user
> numbers in the future, the costs of App Engine would be astronomical
> compared with other cloud computing providers. With more PaaS providers
> coming into the market, and Google's reputation of being extremely price
> competitive, the new pricing has definitely been a big shock for most of us.
>
> On the other end of the scale, developers looking for a free ride to try out
> their hobby app are given extremely generous quotas, both with the old and
> new pricing models. If the need to support these developers has caused the
> rest of App Engine to become expensive, then I recommend substantially
> reducing the free quotas down to almost nothing (as a gesture of goodwill,
> old apps should probably keep their old free quotas). App Engine has been
> around long enough to have gained good exposure, and the free quotas have
> played a part in that, but now that the word is out it may be time to become
> more realistic with the amount of money lost to free riding apps.
>
> On a personal note (and as someone else mentioned in this group), I am both
> disappointed and embarrassed that I not only praised App Engine to other
> developers, managers and stakeholders when it was an unproven technology,
> but also that I have spent a considerable amount of time learning the system
> and new design patterns, along with a substantial amount of time developing
> on it.
>
> If a large change is not made to the new proposed pricing, I daresay the
> only developers and companies you will see using App Engine will be those
> that have already committed a large amount of resources on their project,
> and are too far in to be able to port across to a new system. All it then
> takes to pull the rug out from under App Engine's feet is someone building a
> commercial-grade, drop-in replacement for the App Engine stack, and charging
> a lot less for it.
>
> Nick
>
> On 6 June 2011 10:58, Gregory D'alesandre  wrote:
>
>
>
>
>
>
>
> > Sorry it has taken so long, but we are still working on clarifying some of
> > these areas internally, I will send an update soon, thanks for your
> > patience...
>
> > Greg
>
> > On Thu, Jun 2, 2011 at 5:29 PM, Vanni Totaro wrote:
>
> >> Hi Greg,
>
> >> 2nd "next week" ending :)
> >> Any update for us?
>
> >> Regards,
> >> Vanni
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Google App Engine" group.
> >> To view this discussion on the web visit
> >>https://groups.goog

[google-appengine] Re: issues if i switch to federated login

2011-06-19 Thread jay
Also note that  users.create_logout_url() will also not work anymore.

You will have to redirect your users to your OpenID provider service
and ask them to log out there.

This is the main reason I haven't switched over yet. I expect my users
to be able to log in and out on my own site.

How did other people get around this problem?

Jay.

On Jun 19, 6:19 pm, Robert Kluin  wrote:
> It is a known and very annoying issue, star bug 
> 3258.http://code.google.com/p/googleappengine/issues/detail?id=3258
> On Jun 18, 2011 9:35 AM, "andreas schmid"  wrote:> hi,
>
> > if i switch to federated login i cant access my app with with the remote
>
> api shell and the datastore admin gives me a 404.> why is that?
>
> > thank you
>
> > --
> > You received this message because you are subscribed to the Google Groups
>
> "Google App Engine" group.> To post to this group, send email to 
> google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
>
> google-appengine+unsubscr...@googlegroups.com.> For more options, visit this 
> group at
>
> http://groups.google.com/group/google-appengine?hl=en.
>
>
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] App Engine Launcher 1.5.1??

2011-06-19 Thread Doug
A few days ago I started receiving an error message when opening
1.5.0: "...go download 1.5.1". Yet when I go to the download page
their is no 1.5.1 version for Python. I cannot run my app on the dev
server w/ 1.5.0. - after hitting "run" it never goes live.

 What am I missing? where is the Python download for 1.5.1 and if the
only version that is not in "pre-release" is 1.5.0 how can I get my
app to run.

Thanks,
Doug

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Generate valid datastore key manually

2011-06-19 Thread Yohan
Hi Robert,

I'd like to avoid that AJAX roundtrip ;). I will translate the source
into JS.

Thanks for pointing that out.

Cheers,

On 19 juin, 04:25, Robert Kluin  wrote:
> The SDK is open source, so yes.  However, there is no need to generate the
> encoded key on the client.  Why not just generate a GUID and use that as the
> key name?  Or, setup an API in your app that you make an AJAX call to that
> returns a key for you?
>
> If you are still interested in the 
> code:http://code.google.com/p/googleappengine/source/browse/#svn%2Ftrunk%2...
>
> Robert
> On Jun 19, 2011 4:18 AM, "Yohan"  wrote:> Hi Guys,
>
> > I've been trying to generate a valid datastore Key manually in
> > javascript. For some reason, i need the javascript to know the keys of
> > the objects the server will generate before sending the request to the
> > server (as long as both JS and Servlet generate the keys the same
> > way).
>
> > I couldn't find anywhere in the doc how the keys are generated. I
> > tried decoding the keys but it includes a few binary data that changes
> > depending on keys parents and stuff.
>
> > Could we have access to the keys generation algorithm ?
>
> > Thanks
>
> > --
> > You received this message because you are subscribed to the Google Groups
>
> "Google App Engine" group.> To post to this group, send email to 
> google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
>
> google-appengine+unsubscr...@googlegroups.com.> For more options, visit this 
> group at
>
> http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: FAQ for out of preview pricing changes

2011-06-19 Thread Albert
@Nickolas Daskalou + 1

On Jun 19, 12:09 pm, Nickolas Daskalou  wrote:
> Hi Greg,
>
> Yet another "2nd 'next week' ending" has come and gone (for those playing at
> home, that makes 4 weeks).
>
> The application we had been working on has been halted in light of the new
> pricing announcement, and we have been waiting for some good news for a
> while now. Is there any update you can give us?
>
> I feel your initial announcement was made a little prematurely, and by
> greedy corporates with dollar signs in their eyes, who are not at all in
> touch with the App Engine community. If they had been, they would have known
> that a major selling point of App Engine was its "pay for what you use"
> pricing model.
>
> As has been mentioned earlier, the new proposed prices are almost absurd
> when compared with other cloud computing providers. Even if App Engine
> finally gets full multithreading support, an App Engine instance will still
> cost over 10x that of an equivalent, less handicapped instance on Amazon
> EC2.
>
> Given the old (current?) pricing scheme, I think the logical thing would
> have been to start charging users for RAM consumption (which has already
> been mentioned in other threads). A "pay for what you use" hosting service
> can indeed work, just take a look at NearlyFreeSpeech.net.
>
> Due to the overhead of running a PaaS as opposed to an IaaS, App Engine
> obviously cannot be as cheap as EC2, but a >10x price difference is
> definitely not a true reflection of this overhead. In my opinion, doubling
> the EC2 price to remove server administration headaches from developers
> would be reasonable, but beyond that it may not make sense for a developer
> to pay such a high premium when they can administer an EC2 stack themselves
> with less restrictions than App Engine, and save a considerable amount of
> money in the process.
>
> Sticking to your guns with this new pricing scheme could be the beginning of
> the end for App Engine. A company wishing to build the next big app can
> easily play with the numbers and realise that if they get decent user
> numbers in the future, the costs of App Engine would be astronomical
> compared with other cloud computing providers. With more PaaS providers
> coming into the market, and Google's reputation of being extremely price
> competitive, the new pricing has definitely been a big shock for most of us.
>
> On the other end of the scale, developers looking for a free ride to try out
> their hobby app are given extremely generous quotas, both with the old and
> new pricing models. If the need to support these developers has caused the
> rest of App Engine to become expensive, then I recommend substantially
> reducing the free quotas down to almost nothing (as a gesture of goodwill,
> old apps should probably keep their old free quotas). App Engine has been
> around long enough to have gained good exposure, and the free quotas have
> played a part in that, but now that the word is out it may be time to become
> more realistic with the amount of money lost to free riding apps.
>
> On a personal note (and as someone else mentioned in this group), I am both
> disappointed and embarrassed that I not only praised App Engine to other
> developers, managers and stakeholders when it was an unproven technology,
> but also that I have spent a considerable amount of time learning the system
> and new design patterns, along with a substantial amount of time developing
> on it.
>
> If a large change is not made to the new proposed pricing, I daresay the
> only developers and companies you will see using App Engine will be those
> that have already committed a large amount of resources on their project,
> and are too far in to be able to port across to a new system. All it then
> takes to pull the rug out from under App Engine's feet is someone building a
> commercial-grade, drop-in replacement for the App Engine stack, and charging
> a lot less for it.
>
> Nick
>
> On 6 June 2011 10:58, Gregory D'alesandre  wrote:
>
>
>
>
>
>
>
> > Sorry it has taken so long, but we are still working on clarifying some of
> > these areas internally, I will send an update soon, thanks for your
> > patience...
>
> > Greg
>
> > On Thu, Jun 2, 2011 at 5:29 PM, Vanni Totaro wrote:
>
> >> Hi Greg,
>
> >> 2nd "next week" ending :)
> >> Any update for us?
>
> >> Regards,
> >> Vanni
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Google App Engine" group.
> >> To view this discussion on the web visit
> >>https://groups.google.com/d/msg/google-appengine/-/alFhQ1RKWE1NWWtK.
>
> >> To post to this group, send email to google-appengine@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> google-appengine+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >>http://groups.google.com/group/google-appengine?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Google App 

Re: [google-appengine] [Java] Google App Engine bulk loader upload error “OverflowError: date value out of range”

2011-06-19 Thread Dennis Lo
Thanks Robert!

You comments really helped me find my solution this problem. It got me 
thinking outside the box to find which row(s) were causing this issues.

Check out my solution here: 
http://stackoverflow.com/questions/6316096/java-google-app-engine-bulk-loader-upload-error-overflowerror-date-value-out-of

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/6tJ6rYkC3LgJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Task queue not scaling up!

2011-06-19 Thread Waleed Abdulla
Thank you, Robert. I think you nailed it. After a lot of experimentation I
reached the same conclusion. GAE seems to be punishing long running tasks
(my tasks take about 20 seconds each). The longer the tasks run, the fewer
of them you can execute.

This seems odd to me because doing more work per task is more efficient. If
I split my 20 seconds work into 20 tasks (1 seconds each), then I'm
duplicating the overhead 20 times. And the App Engine team just recently
increased the task timeout to 10 minutes, which tells me that they want to
make it possible to do more work per task.


Kann,
Mapreduce is designed to do as much work per task as possible. So, yes,
I believe your tasks are being punished as well and that explains the 6x
increase in time. But it doesn't add up. When I changed my tasks to do less
work, suddenly the app started scaling better and more instances were
created. If the goal is to use less instances, then long running tasks
should be encouraged because they do more work with less instances. Maybe
it's a bug in their scaling algorithm?




On Sun, Jun 19, 2011 at 12:22 PM, Kaan Soral  wrote:

> I have your problem too,
>
> I haven't checked the situation since weeks but right after
> development a mapreduce job, which was doing 800k operations was
> showing results in ~30 minutes, but that time increased to 3 hours ...
>
> I guess this is because they are re-designing appengine in a wrong
> direction
>
> In future we will get charged by instance usage, so you wouldn't want
> 70 instances, and I guess the modifications are in that direction
>
> I don't like this, but I wouldn't want to pay a lot either,
>
> sad ...
>
> On Jun 19, 8:52 am, Waleed Abdulla  wrote:
> > I think I narrowed the issue a little bit. Added a lot of logging.info()
> > statements and I noticed the following:
> >
> > 1. The time between inserting a task and when it starts running is too
> long:
> > 5 - 20 seconds. Typically tasks should execute right away after inserting
> if
> > you're below the queue rate. That's issue #1
> >
> > 2. I put a timer in my code to calculate the time it takes to execute
> each
> > task. When I compare that time with the time app engine reports in the
> logs,
> > there is a big difference. 5 - 20 seconds. For example, processing a task
> > takes 25 seconds, of which only 10 seconds is actually spent inside my
> code.
> > So the infrastructure is keeping requests on hold for a while before they
> > get executed. That's issue #2
> >
> > When I compare the delay in #1 to the time difference calculated in
> #2,
> > they're very close and they correlate (i.e. they go up and down
> together).
> > So that means that issue #1 is probably caused by issue #2. (i.e. tasks
> do
> > get picked for execution right away, but the actual execution doesn't
> start
> > until 5 - 20 seconds later).
> >
> > There seems to be an infrastructure problem in GAE. Maybe GAE is
> > experiencing high load, too much network traffic, ..etc. Whatever the
> > reason, it seems that requests are waiting in a queue for too long before
> > they run.
> >
> > Does anyone notice any issues that confirm or deny the above? Any
> ideas
> > how to work around it?
> >
> > Waleed
> >
> > On Sat, Jun 18, 2011 at 7:45 PM, Chiguireitor
> > wrote:
> >
> >
> >
> >
> >
> >
> >
> > > The other issue is that each task spawns a new instance... could you be
> > > hitting a max instance limit there? i really don't know if there's an
> > > instance limit... but could happen
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google App Engine" group.
> > > To view this discussion on the web visit
> > >https://groups.google.com/d/msg/google-appengine/-/nsxW4XGycnwJ.
> >
> > > To post to this group, send email to google-appengine@googlegroups.com
> .
> > > To unsubscribe from this group, send email to
> > > google-appengine+unsubscr...@googlegroups.com.
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Generate valid datastore key manually

2011-06-19 Thread Nick Johnson (Google)
Hi Yohan,

There's still no need to generate encoded keys on the client - or send them
to the client at all. Just generate the key name, and since you should
already know the kind and any parents from context, the server can create
the key from the key name.

-Nick Johnson

On Mon, Jun 20, 2011 at 10:27 AM, Yohan  wrote:

> Hi Robert,
>
> I'd like to avoid that AJAX roundtrip ;). I will translate the source
> into JS.
>
> Thanks for pointing that out.
>
> Cheers,
>
> On 19 juin, 04:25, Robert Kluin  wrote:
> > The SDK is open source, so yes.  However, there is no need to generate
> the
> > encoded key on the client.  Why not just generate a GUID and use that as
> the
> > key name?  Or, setup an API in your app that you make an AJAX call to
> that
> > returns a key for you?
> >
> > If you are still interested in the code:
> http://code.google.com/p/googleappengine/source/browse/#svn%2Ftrunk%2...
> >
> > Robert
> > On Jun 19, 2011 4:18 AM, "Yohan"  wrote:> Hi
> Guys,
> >
> > > I've been trying to generate a valid datastore Key manually in
> > > javascript. For some reason, i need the javascript to know the keys of
> > > the objects the server will generate before sending the request to the
> > > server (as long as both JS and Servlet generate the keys the same
> > > way).
> >
> > > I couldn't find anywhere in the doc how the keys are generated. I
> > > tried decoding the keys but it includes a few binary data that changes
> > > depending on keys parents and stuff.
> >
> > > Could we have access to the keys generation algorithm ?
> >
> > > Thanks
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> >
> > "Google App Engine" group.> To post to this group, send email to
> google-appengine@googlegroups.com.
> > > To unsubscribe from this group, send email to
> >
> > google-appengine+unsubscr...@googlegroups.com.> For more options, visit
> this group at
> >
> > http://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Whitelisting App Engine IPs in Google APIs console

2011-06-19 Thread Nick Johnson (Google)
Hi Alexander,

Sending API keys to the client probably isn't a good idea in any case, as
that gives them carte blanche with the API that the key is for, even setting
aside other APIs. You should use a proxy that handles authentication,
instead.

-Nick Johnson

On Mon, Jun 20, 2011 at 4:47 AM, Alexander Konovalenko wrote:

> When you are using a Google API (such as the Prediction API) from a
> server-side app, the Google APIs Console lets you limit API requests
> to those originating from known IP addresses or ranges [1, 2]. If you
> set a whitelist and an API request comes from a non-whitelisted
> address, the request will be rejected.
>
> This can be really useful if you use some Google APIs from
> browser-embedded JavaScript and other Google APIs only from server
> side. All APIs share the same API key which can be retrieved by
> examining or debugging your JavaScript. A malicious third party could
> learn your API key by viewing the source of your site and then use the
> key to issue calls to other Google APIs in your name, even if you only
> use those other APIs from your server-side app.
>
> Currently we cannot whitelist App Engine because the IP addresses used
> by the app servers, backends and the URL fetch service are not known
> in advance. I filed a request to add a button on the Google APIs
> console to whitelist App Engine. If you're interested, feel free to
> star it or add your comments:
>
> http://code.google.com/p/googleappengine/issues/detail?id=5219
>
> [1] Google APIs Console, Quotas pane
> https://code.google.com/apis/console#:quotas
>
> [2] Google APIs Console Help, section "Whitelisting by IP Address
> (Server-side applications)"
> https://code.google.com/apis/console-help/#whitelistingbyip
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: App Engine Launcher 1.5.1??

2011-06-19 Thread Casey Dwyer
http://code.google.com/p/googleappengine/downloads/list

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Z5QPeHCvITgJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Blobstore service

2011-06-19 Thread Ahmad Syukri bin Abdollah
Ah, I get it. Even with billling enabled, you get to set daily budget so you 
can actually still use AppEngine without billing incurred even if it's 
enabled. I never read about billing because I never wanted to billed so I 
didn't know.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Af69JYe0lBYJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Blobstore service

2011-06-19 Thread Ahmad Syukri bin Abdollah
I just went and tried to enable billing. It turns out they won't let me set 
$0.00 daily budget. Blimey! So my point stands: there is no way to use 
blobstore with 100% guarantee of never billed.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/fVAc6MhPap4J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Blobstore service

2011-06-19 Thread Nick Johnson (Google)
Hi Ahmad,

The easiest way to do this is to allocate a $1 budget to a quota you know
you won't use. If you don't send emails, the email quota is an easy choice.
If you do, since you're enabling blobstore, you could allocate it all to
storage, since you seem to be confident you won't surpass the limit there.

-Nick

On Mon, Jun 20, 2011 at 1:31 PM, Ahmad Syukri bin Abdollah <
syoc...@gmail.com> wrote:

> I just went and tried to enable billing. It turns out they won't let me set
> $0.00 daily budget. Blimey! So my point stands: there is no way to use
> blobstore with 100% guarantee of never billed.
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/fVAc6MhPap4J.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] I have reached 10 AppEngine sites, I really need some more

2011-06-19 Thread Chris Davis
I have reached 10 AppEngine sites, I really need some more, what can I
do?

Thanks

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Need help debug GAE

2011-06-19 Thread rop rop
Hi,

Im pretty new to GAE, and have developed a little java-servlet with
Struts2.
I found a few workarounds that were needed for Struts2 to work in GAE
and actually got it running.

After the last additions, however, it still works in the local GAE-
container, but not when I upload it.

I can see the welcome html-page is served, but as soon as the servlet
is called, I just get
 "404 Not Found"-error.

The logs in the admin-console also shows nothing, which leaves me in
the dark...

Any ideas how can I trace down what the problem is?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] #appengine irc chat transcript 2011-06-15

2011-06-19 Thread Ikai Lan (Google)
FWIW I'm still a bit skeptical about node.js (cue the army of people riding
the hype cycle coming down on me - but please describe to me JavaScript's
memory model, for instance), but we *do* seem to have the right expertise
here to build that out. Before this sort of thing gets prioritized, however,
I'd like to see more usage of App Engine JS to validate the developer
demand: http://www.appenginejs.org/. You can already run JS applications on
GAE via Rhino, and with node.js, I'm not sure if the event loop gives you as
many benefits running outside of GAE because everything you do is an RPC.
For instance, you're not actually making the HTTP request from the runtime:
you're making an RPC to an HTTP request service which makes the request for
you.

One thing you'll see in the Go runtime, for instance, is this need to
retrieve an App Engine Context. The reason you don't have to explicitly do
this in, say, Java, is because there are ThreadLocals we can use to stuff
the context into. I'm not entirely sure how this would work in node.js. Eh,
low level details.

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Sun, Jun 19, 2011 at 2:47 PM, Maxim Lacrima wrote:

>
>
> On 18 June 2011 21:01, Peter Petrov  wrote:
>
>> Personally, I'd be much happier to see Node.js supported on GAE, than PHP.
>
>
> +1. You don't have to worry about that tricky threading stuff, if you can
> just develop against event loop.
>
> --
> with regards,
> Maxim
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] #appengine irc chat transcript 2011-06-15

2011-06-19 Thread Wilson MacGyver
Ah ha, thank you for explaining that, I was wondering why go needs to do that.

On Mon, Jun 20, 2011 at 12:18 AM, Ikai Lan (Google)  wrote:
> One thing you'll see in the Go runtime, for instance, is this need to
> retrieve an App Engine Context. The reason you don't have to explicitly do
> this in, say, Java, is because there are ThreadLocals we can use to stuff
> the context into. I'm not entirely sure how this would work in node.js. Eh,
> low level details.


-- 
Omnem crede diem tibi diluxisse supremum.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] datastore deletes taking forever

2011-06-19 Thread Greg Donald
I developed the next version of my app and some models changed, so I
wanted to clear everything out.

I deleted four tables using the Datastore Admin.

An hour has passed and the Status still says:

"Active (4 steps completed, 2 active)"


What are the 2 still active steps?  My largest table only had 37 rows,
why is this taking so long?  Does it always take this long?


Thanks.


-- 
Greg Donald
destiney.com | gregdonald.com

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] #appengine irc chat transcript 2011-06-15

2011-06-19 Thread Jay Young
Sadly, AppEngineJS is a ghost these days.  It seems to have died around 
December and is a few releases back.  It is also based on a 
no-longer-supported webapp framework that was part of RingoJS (the CommonJS 
framework that runs on Rhino).

That said, I'm still using Ringo/Rhino on GAE, and it's pretty solid. 
 Interfacing with the Java runtime APIs is easy (actually, interfacing with 
anything Java is easy).  Loading requests take about 5 seconds to return, 
and subsequent requests are very quick.  The development pace on Rhino has 
actually picked up again in the last few months (they recently created a new 
Google Group  and 
migrated their code to GitHub ), and as 
part of Google's Summer of Code, there is a project being mentored by the 
lead developer of Ringo going on to upgrade Rhino to use Java 7's 
invokeDynamic to boost performance even more.  It seems like "V8 Envy" is 
lighting a fire under people these days.  :)

It would be really awesome, and probably much easier than creating a whole 
new runtime, if Google was truly interested in looking at new directions, to 
build a JS runtime on top of Ringo's CommonJS implementation (or even just 
Rhino).  I think that'd be a great way to meet Javascript developers half 
way, if they could set up all the plumbing and provide a webapp-like 
framework so that everyone using Rhino didn't have to do it themselves.

And if you really wanted to go the extra mile, get the Closure folks to 
tweak the library and compiler for server-side stuff.  ;)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/naiM73IJdzgJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] #appengine irc chat transcript 2011-06-15

2011-06-19 Thread Ikai Lan (Google)
Thanks Jay! We really need to hear more from developers like you.

I won't repeat my comments re: PHP runtime, but if some developers would
show that they were serious about maintaining a JS runtime, we would do what
we can on our side to help out short of actually maintaining it. We'll try
to keep the developers up to speed on new developments and upcoming
features. Maintaining another SDK will take resources we currently don't
have at the moment.

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Mon, Jun 20, 2011 at 1:56 PM, Jay Young  wrote:

> Sadly, AppEngineJS is a ghost these days.  It seems to have died around
> December and is a few releases back.  It is also based on a
> no-longer-supported webapp framework that was part of RingoJS (the CommonJS
> framework that runs on Rhino).
>
> That said, I'm still using Ringo/Rhino on GAE, and it's pretty solid.
>  Interfacing with the Java runtime APIs is easy (actually, interfacing with
> anything Java is easy).  Loading requests take about 5 seconds to return,
> and subsequent requests are very quick.  The development pace on Rhino has
> actually picked up again in the last few months (they recently created a new
> Google Group  and
> migrated their code to GitHub ), and as
> part of Google's Summer of Code, there is a project being mentored by the
> lead developer of Ringo going on to upgrade Rhino to use Java 7's
> invokeDynamic to boost performance even more.  It seems like "V8 Envy" is
> lighting a fire under people these days.  :)
>
> It would be really awesome, and probably much easier than creating a whole
> new runtime, if Google was truly interested in looking at new directions, to
> build a JS runtime on top of Ringo's CommonJS implementation (or even just
> Rhino).  I think that'd be a great way to meet Javascript developers half
> way, if they could set up all the plumbing and provide a webapp-like
> framework so that everyone using Rhino didn't have to do it themselves.
>
> And if you really wanted to go the extra mile, get the Closure folks to
> tweak the library and compiler for server-side stuff.  ;)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/naiM73IJdzgJ.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Authentication problem

2011-06-19 Thread GAE app developer
Thanks Johan
Even though I have signed in using my Gmail account it does not seem
to make any difference. It is displaying the same error.

And also i tried using the oauthdecorator
1. when I click on yes or no button for a particular submission it
requests for login and after I sign in it displays this error:
OAuth 2.0 error: redirect_uri_mismatch
The redirect URI in the request did not match a registered redirect
URI

Can you please tell why this error appears and how to solve this
On Jun 18, 4:17 am, Johan Euphrosine  wrote:
> get_current_user() could return None has documented here, if no user
> is logged in:http://code.google.com/appengine/docs/python/users/functions.html
>
> You could also take a look at the new OAuth2Decorator in
> google-api-python-client that make dealing with OAuth 2.0 
> easier:http://code.google.com/p/google-api-python-client/wiki/OAuth2AppEngin...
>
> I just published an article on how to use it with Google Tasks API,
> but that should be easy to translate to Moderator 
> API:http://googleappengine.blogspot.com/2011/06/getting-started-with-task...
>
> On Fri, Jun 17, 2011 at 2:45 PM, GAE app developer
>
>
>
>
>
>
>
>
>
>  wrote:
> > Hi,
>
> > I am developing an Google app engine application using Moderator API
> > in python. I am able to retrieve the submissions. I am having an
> > authentication problem. My code runs locally without any problem but
> > when I deploy it in Google app engine launcher. It shows the following
> > error:
>
> > 'NoneType' object has no attribute 'user_id'
> > Traceback (most recent call last):
> >  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> > ext/webapp/__init__.py", line 700, in __call__
> >    handler.get(*groups)
> >  File "/base/data/home/apps/ktbookstore/3.351197542995528852/
> > retrieve_list_unique.py", line 107, in get
> >    f = Flow.get_by_key_name(user.user_id())
> > AttributeError: 'NoneType' object has no attribute 'user_id'
>
> > My code is:
>
> > import gflags
> > import httplib2
> > import logging
> > import pprint
> > import sys
> > import os
> > import cgi
> > import pickle
>
> > from apiclient.discovery import build
> > from oauth2client.file import Storage
> > from oauth2client.client import AccessTokenRefreshError
> > from oauth2client.client import OAuth2WebServerFlow
> > from oauth2client.tools import run
> > from google.appengine.ext import webapp
> > from google.appengine.ext.webapp import template
> > from google.appengine.ext.webapp.util import run_wsgi_app
> > from google.appengine.ext import db
> > from google.appengine.api import users
> > from oauth2client.appengine import CredentialsProperty
> > from oauth2client.appengine import StorageByKeyName
> > from google.appengine.ext.webapp.util import login_required
> > from google.appengine.api import memcache
> > from oauth2client.appengine import FlowProperty
>
> > FLAGS = gflags.FLAGS
>
> > FLOW = OAuth2WebServerFlow(
> >    client_id='My client id',
> >    client_secret='my client_secret',
> >    scope='https://www.example.com/oauth2callback',
> >    user_agent='moderator-cmdline-sample/1.0')
>
> > gflags.DEFINE_enum('logging_level', 'ERROR',['DEBUG', 'INFO',
> > 'WARNING', 'ERROR', 'CRITICAL'],'Set the level of logging detail.')
>
> > class Flow(db.Model):   # FlowThreeLegged could also be stored in
> > memcache.
> >    flow = FlowProperty()
>
> > class Credentials(db.Model):
> >  credentials = CredentialsProperty()
>
> > class ModPage(webapp.RequestHandler):
> >  def get(self):
> >    # Let the gflags module process the command-line arguments
>
> >    service = build("moderator", "v1", developerKey='my developer
> > key')
>
> > class voteUpdate(webapp.RequestHandler):
> >  def get(self):
> >      user = users.get_current_user()
> >      logging.info(user)
> >      f = Flow.get_by_key_name(user.user_id())
> >      if f:
> >        credentials = f.flow.step2_exchange(self.request.params)
> >        c = Credentials(key_name=user.user_id(),
> > credentials=credentials)
> >        c.put()
> >        f.delete()
> >        self.redirect("/")
> >      else:
> >        pass
> >      user = users.get_current_user()
> >      c = Credentials.get_by_key_name(user.user_id())
> >      if c:
> >        http = httplib2.Http()
> >        http = c.credentials.authorize(http)
> >      else:
> >        flow = FlowThreeLegged(
> >                              consumer_key='',
> >                              consumer_secret='anonymous',
> >                              user_agent='google-api-client-python-
> > moderator-webapp/1.0',
> >                              domain='anonymous',
> >                              scope='https://www.googleapis.com/auth/
> > moderator',
> >                              xoauth_displayname='Example Web App')
> >      authorize_url = flow.step1_get_authorize_url(STEP2_URI)
> >      f = Flow(key_name=user.user_id(), flow=flow)
> >      f.put()
> >      self.redirect(authorize_url)
>
> >      service = build("moderator", "v1", http=