2017-12-14 13 views
0

Googleシートでスプレッドシートをプログラムで作成することに興味があります。私の要件の1つは、スプレッドシートの列に関連付けられた開発者のメタデータに書き込み、そこから読むことができることです。APIを使用してメタデータを含むGoogleスプレッドシートを作成すると、メタデータレコードが作成されないようです。

現在、開発者向けのメタデータの作成に問題があります(スプレッドシートレベルまたはシートの特定の部分に関連付けられています)。新しいスプレッドシートを作成するリクエストを送信すると、結果として得られるスプレッドシートオブジェクトを期待どおりに返す、正常な応答を受け取っています。ただし、この要求から返されるオブジェクトには、APIドキュメントに示されているように、メタデータオブジェクトは含まれません。メタデータエントリの明示的なメタデータIDを設定し、それを取得しようとしても、動作しないように見えます(下記参照)。ここで

は、私は(私は私のコードからそれを隔離するだけでなく、最近のGoogle APIエクスプローラを使用して要求を送信してきた)要求で送信されているJSON本体ペイロードである:

{ 
    "properties": { 
    "title": "test 6:19 with sheet metadata" 
    }, 
    "sheets": [ 
    { 
     "properties": { 
     "sheetId": 0, 
     "title": "Sheet1", 
     "index": 0, 
     "sheetType": "GRID", 
     "gridProperties": { 
      "rowCount": 2, 
      "columnCount": 2 
     } 
     }, 
     "data": [REMOVED_FOR_SPACE], 
    "developerMetadata": [ 
    { 
     "location": { 
     "spreadsheet": true, 
     "locationType": "SPREADSHEET" 
     }, 
     "metadataKey": "questionId", 
     "metadataValue": "12345", 
     "visibility": "DOCUMENT", 
     "metadataId": 12345 
    } 
    ] 
} 

この要求は200を受け取り、前に述べたように開発者のメタデータが欠落しているスプレッドシートオブジェクトを返します。スプレッドシートは説明どおりに作成され、UIを介してアクセスできます。

ドキュメントにもかかわらず、メタデータが含まれていない可能性があります。ただし、上記のメタデータIDに対してGETリクエストを行うと、次の応答が返されます。

{ 
    "error": { 
    "code": 404, 
    "message": "No developer metadata with ID 12345.", 
    "status": "NOT_FOUND" 
    } 
} 

WUTは何ですか?

答えて

0

私は同じ問題に直面していましたが、私はこれを完全にあきらめました。その後、スプレッドシートの下に提供されている「batchUpdate」APIを試しました。 "Requests"の下の "kind"フィールドの1つは、値createDeveloperMetadataです。 () スプレッドシートの作成中に提供しようとしたものと同じ構造のCreateDeveloperMetadataRequestオブジェクトを取ります(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#CreateDeveloperMetadataRequest) これをメタデータIDとしてランダムな整数で実行すると、200応答が返されます。さらに、開発者メタデータでGETを実行すると、正しい応答が返されました。

これが役に立ちます。

+0

ありがとうございます。結局、私は事を別の方法でやり遂げ、シートメタデータを完全に使用することを避けました。将来メタデータを使用する必要がある場合、これは非常に役に立ちます。 –

関連する問題