讓我首先說我是MQL,Freebase和Google API的新手。使用Google API Objective-C客戶端構建MQL查詢(Freebase)
我試圖從Freebase使用Google API Objective-C客戶端獲得結果,但是我找不到任何示例或關於在沒有生成類的情況下使用API的信息。
我發現這個頁面http://code.google.com/p/google-api-objectivec-client/wiki/Introduction
但部分「使用API沒有生成的類」不給我任何有關的信息,構建這些查詢和包含的例子是所有生成的類。
到目前爲止,我發現我需要首先創建一個帶有RPC URL(我猜這是https://www.googleapis.com/freebase)的GTLService對象,設置API版本(沙箱環境的v1sandbox),並設置API密鑰(在這種情況下是kGoogleAPIKey)。
GTLService * service = [[GTLService alloc] init];
service.rpcURL = [NSURL URLWithString:@"https://www.googleapis.com/freebase"];
service.apiVersion = @"v1sandbox";
service.APIKey = kGoogleAPIKey;
完成!真棒,沒問題。
接下來的部分是我被卡住的地方。我的問題是,如何使用Google API Objective-C客戶端構建一個MQL查詢以從Freebase中檢索結果?
在上面的鏈接中的「對象和查詢」部分,它聲明我需要創建一個查詢並執行它,但我在哪裏包含MQL查詢?
// queryWithMethodName: methodName is the RPC method name to use
GTLQuery * query = [GTLQuery queryWithMethodName:@"mqlread"]; // Not sure if this is correct
GTLServiceTicket * ticket = [service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
NSArray * items = [object items];
NSLog(@"%@", [items description]);
// Do something with items.
}];
僅供參考,遊離鹼API網址是
https://www.googleapis.com/freebase/v1/mqlread?query={}
和MQL查詢
[{
"id": null,
"name": null,
"type": "/travel/travel_destination",
"/travel/travel_destination/tourist_attractions": [{
"id": null,
"name": null
}],
"/location/location/containedby": [{
"name": "California"
}]
}]
我會很感激的方向是正確的任何幫助,甚至一個點!
爲什麼你不能使用生成的類? –