Wie importiere ich Golang Appengine richtig?

In meinem in Go geschriebenen Google App Engine-Projekt habe ich beispielsweise @ verwende

import "appengine/datastore"

mit langem Erfolg und vorausgesetzt, der Import findet Dinge, bei denen ich das App Engine SDK habe. Jetzt möchte ich jedoch auch eine Drittanbieter-Bibliothek von Google verwenden, die auch Dinge von App Engine verwendet, aber mit dem vollständigen Pfad importiert:

import "google.golang.org/appengine"

App ausführen

$ goapp serve

schlägt fehl, wenn Appengine nicht gefunden wird:

...go/src/golang.org/x/oauth2/client_appengine.go:16: can't find import: "google.golang.org/appengine/urlfetch"

Can't find package "google.golang.org/appengine" in $GOPATH

Natürlich möchte ich dieselben App Engine-Teile verwenden, um keine anderen Probleme zu haben. Mein erster Durchgang ist, dass ich die Drittanbieter-Bibliothek anweisen möchte, die App Engine SDK-Bibliotheken zu verwenden, aber ich weiß nicht, wie, da der Import ein anderes Präfix hat.

Soll ich für alle App Engine-Importe den vollständigen Pfad in meinem Projekt verwenden? Dies würde dem widersprechen, was ich auf den Webseiten der Google App Engine für Golang gelesen habe. Z.B.Hie.

Allgemein, wie können die Dinge so eingerichtet werden, dass die richtigen Appengine-Bibliotheken sowohl in der Entwicklung als auch in der Produktion auf App Engine sowie in Bibliotheken von Drittanbietern gefunden werden?

Vielen Dank im Voraus für jede Hilfe!

AKTUALISIERE

Ich kann das auch sehen, nachdem ich die Drittanbieter-Bibliothek hinzugefügt und @ ausgeführt habgo get es holte alle möglichen Sachen in$GOPATH/src/google.golang.org/api/.... Es gibt viele Dinge und auch Appengine usw. Es scheint alles Golang Google APIs zu sein ...!

So ist es nicht gelöst, aber ich habe gelernt, dass es eine Änderung gibt, die sich in @ ändequalifizierte Appengine-Importpfade.

Jetzt wird meine App lokal ausgeführt, während ich die neue App-Engine aufgerufen habe, um die oauth-Bibliothek zu befriedigen, die die neuen Importpfade verwendet.

go get google.golang.org/appengine

GemäßDie:

Wenn Sie nicht Ihre gesamte App für die Verwendung der neuen App Engine-Pakete aktualisieren möchten, können Sie beide Paketsätze parallel verwenden und nur die neuen Pakete mit dem Paket oauth2 verwenden.

Eigentlich sehr verwirrend und ich weiß nicht, was verfügbar ist, wenn ich auf App Engine bereitstelle. Weiß jemand

Antworten auf die Frage(4)

Ihre Antwort auf die Frage