簡體   English   中英

Google App Engine的雲端點在哪里?

[英]Where are Google App Engine's Cloud Endpoints?

我正在研究一個使用Google App Engine遠程存儲應用程序數據的項目。 到目前為止,我已經創建了一個簡單的類GenericEntity並使用Google的工具來生成支持的Cloud Endpoint。

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class GenericEntity {

/* Define the UniqueID as persistent and unique. Allow JDO to assign the value of UniqueId when uploaded with a null id. */
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@GeneratedValue(strategy = GenerationType.AUTO)
private Long mUniqueId; // Value must be 'Long' and not a primitive 'long'!

@Persistent
private String mData;
[...]

我也可以成功地創建和刪除的情況下GenericEntityGenericEntityEndpoint使用API瀏覽器。

請求:

POST 

Content-Type:  application/json
X-JavaScript-User-Agent:  Google APIs Explorer

{
"data": "hello SO!"
}

響應:

200 OK

問題是我想從本地桌面應用程序控制這些終結點,但是我對應該如何實現感到困惑。 我認為PersistenceManagerFactory僅在Google服務器本地,隨后無法被我的應用程序直接訪問。 我是否還沒有最后一步可以通過網絡與這些生成的端點進行高層交互,還是我需要使用HttpUrlRequest函數與服務器實現自己的接口?

雲端點使用REST或RPC over HTTP發送JSON數據,並使用OAuth2管理身份驗證,因此您可以從頭開始編寫桌面應用程序,也可以使用各種Google庫連接到端點。 對於Java應用程序,我通常使用可以使用endpoint.sh生成的Android雲終結點庫,我使用為Android生成的類從任何其他Java應用程序調用雲終結點:

appengine-java-sdk-x.x.x/bin/endpoints.sh <command> <options> [class-name]

此處有更多詳細信息( https://cloud.google.com/appengine/docs/java/endpoints/endpoints_tool

一旦端點.sh生成了源jar,我通常會將其擴展到我的客戶端Java項目中。 否則,您可以編譯生成的類並將其捆綁為二進制jar。 完成此操作后,您需要注意身份驗證部分。 這可以通過使用OAuth2 Java客戶端庫( https://developers.google.com/api-client-library/java/apis/oauth2/v1 )完成,請參見提供的示例oauth2-cmdline-sample

一旦您有OAuth2令牌從桌面應用程序調用雲終結點就與調用任何其他Google API一樣,則服務對象和構建器模式都相同,例如,根據終結點API的名稱,您可以從中創建服務對象endpoint.sh生成的類如下

Endpoint endpoint = Endpoint.Builder(
                        HTTP_TRANSPORT, JSON_FACTORY, getCredential()).build();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM