نیاز به مجوز دارد
داده ها را برای یک منبع داده سفارشی آپلود کنید. یک نمونه ببینید .
این روش از یک URI /upload پشتیبانی می کند و رسانه های آپلود شده با ویژگی های زیر را می پذیرد:
- حداکثر حجم فایل: 1 گیگابایت
- انواع رسانه MIME پذیرفته شده:
application/octet-stream
علاوه بر پارامترهای استاندارد ، این روش از پارامترهای فهرست شده در جدول پارامترها پشتیبانی می کند.
درخواست
درخواست HTTP
POST https://www.googleapis.com/upload/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources/customDataSourceId/uploads
مولفه های
نام پارامتر | ارزش | شرح |
---|---|---|
پارامترهای مسیر | ||
accountId | string | شناسه حساب مرتبط با آپلود. |
customDataSourceId | string | شناسه منبع داده سفارشی که داده های بارگذاری شده به آن تعلق دارد. |
webPropertyId | string | ویژگی وب UA-string مرتبط با آپلود. |
پارامترهای پرس و جو مورد نیاز | ||
uploadType | string | نوع درخواست آپلود به /upload URI. مقادیر قابل قبول عبارتند از:
|
مجوز
این درخواست به مجوز حداقل با یکی از حوزه های زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).
محدوده |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
درخواست بدن
با این روش بدنه درخواستی ارائه نکنید.
واکنش
در صورت موفقیت آمیز بودن، این روش یک منبع Uploads را در بدنه پاسخ برمی گرداند.
مثال ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
/* * Note: This code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ // This request uploads a file for the authorized user. File file = new File("data.csv"); InputStreamContent mediaContent = new InputStreamContent("application/octet-stream", new FileInputStream(file)); mediaContent.setLength(file.length()); try { analytics.management().uploads().uploadData("123456", "UA-123456-1", "122333444455555", mediaContent).execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); }
PHP
از کتابخانه مشتری PHP استفاده می کند.
/** * Note: This code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ /** * This request uploads a file to a custom data source. */ try { $analytics->management_uploads->uploadData( '123456', 'UA-123456-1', '122333444455555', array('data' => file_get_contents('example.csv'), 'mimeType' => 'application/octet-stream', 'uploadType' => 'media')); } catch (apiServiceException $e) { print 'There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage(); } catch (apiException $e) { print 'There was a general API error ' . $e->getCode() . ':' . $e->getMessage(); }
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
# Note: This code assumes you have an authorized Analytics service object. # See the Data Import Developer Guide for details. # This request uploads a file custom_data.csv to a particular customDataSource. # Note that this example makes use of the MediaFileUpload Object from the # apiclient.http module. from apiclient.http import MediaFileUpload try: media = MediaFileUpload('custom_data.csv', mimetype='application/octet-stream', resumable=False) daily_upload = analytics.management().uploads().uploadData( accountId='123456', webPropertyId='UA-123456-1', customDataSourceId='9876654321', media_body=media).execute() except TypeError, error: # Handle errors in constructing a query. print 'There was an error in constructing your query : %s' % error except HttpError, error: # Handle API errors. print ('There was an API error : %s : %s' % (error.resp.status, error.resp.reason))
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.
/* * Note: This code assumes you have an authorized Analytics client object. * See the Data Import Developer Guide for details. */ /* * This request uploads a file for the authorized user. */ function uploadData(fileData) { const boundary = '-------314159265358979323846'; const delimiter = "\r\n--" + boundary + "\r\n"; const close_delim = "\r\n--" + boundary + "--"; var contentType = 'application/octet-stream' var reader = new FileReader(); reader.readAsBinaryString(fileData); reader.onload = function(e) { var contentType = 'application/octet-stream'; var metadata = { 'title': fileData.name, 'mimeType': contentType }; var base64Data = btoa(reader.result); var multipartRequestBody = delimiter + 'Content-Type: application/json\r\n\r\n' + JSON.stringify(metadata) + delimiter + 'Content-Type: ' + contentType + '\r\n' + 'Content-Transfer-Encoding: base64\r\n' + '\r\n' + base64Data + close_delim; var request = gapi.client.request({ 'path': 'upload/analytics/v3/management/accounts/123456/webproperties/UA-123456-1/customDataSources/ABCDEFG123abcDEF123/uploads', 'method': 'POST', 'params': {'uploadType': 'multipart'}, 'headers': { 'Content-Type': 'multipart/mixed; boundary="' + boundary + '"' }, 'body': multipartRequestBody }); request.execute(function (response) { // Handle the response. }); } }