簡體   English   中英

使用 google sheet api 更新 google sheet 的 DeveloperMetadata

[英]Update DeveloperMetadata of google sheet using google sheet api

我正在為 PHP 使用 Google API 客戶端庫 我可以創建和訪問電子表格的 DeveloperMetadata。 但無法更新 DeveloperMetadata。 請參閱下面的代碼以獲得更好的理解。

<?php
class GoogleSheetHelper {
    function update_dev_meta() {
    $dev_meta = new DeveloperMetadata();
    $dev_meta->setVisibility( 'DOCUMENT' );
    $dev_meta->setMetadataKey( 'new_meta_key' );
    $dev_meta->setMetadataValue( 'new_meta_value_updated' );

    $update_req = new UpdateDeveloperMetadataRequest();
    $update_req->setDeveloperMetadata( $dev_meta );
    $update_req->setFields( '*' );

    $request = new Request();
    $request->setUpdateDeveloperMetadata( $update_req );

    $batch_update = new BatchUpdateSpreadsheetRequest();
    $batch_update->setRequests( [ $request ] );

    $client  = $this->get_client();
    $service = new Sheets( $client );

    try {
        return $service->spreadsheets->batchUpdate( $spreadsheet_id, $batch_update );
    } catch ( Exception $ex ) {
        var_dump( $ex->getErrors() );

        return false;
    }
}

private function get_client( $scopes = [] ) {
    $credential = 'location/of/credential.json';

    if ( empty( $credential ) ) {
        return null;
    }

    $default_scopes = [
        'https://www.googleapis.com/auth/drive',
        'https://www.googleapis.com/auth/spreadsheets',
    ];

    return new Client(
        [
            'credentials' => $credential,
            'scopes'      => $default_scopes,
        ]
    );
}
}

如有任何疑問,請隨時通知我。 對不起,我的英語水平很差。

檢查您的代碼和文檔,您似乎缺少指定Data FilterDeveloperMetadata Object包括聲明要更新的字段的字段掩碼。 請查看有關如何更新開發人員元數據的文檔,以證實您的操作是否正確。

這是顯示更新開發人員元數據的示例,它與您當前擁有的相差不遠:

{
  "requests": [
    {
      "updateDeveloperMetadata": {
        "dataFilters": [
          {
            "developerMetadataLookup": {
              "metadataId": metadataId
            }
          }
        ],
        "developerMetadata": {
          "location": {
            "sheetId": sheetId
          },
          "metadataKey": "SalesUpdated"
        },
        "fields": "location,metadataKey"
      }
    }
  ]
}

暫無
暫無

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

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