আমি কীভাবে কেবল জাভাস্ক্রিপ্ট দিয়ে গুগল শীট স্প্রেডশিট অ্যাক্সেস করতে পারি?


102

আমি কেবল জাভাস্ক্রিপ্ট ব্যবহার করে গুগল স্প্রেডশিট অ্যাক্সেস করতে চাই (কোন নেট।, সি #, জাভা ইত্যাদি)

আমি এখানে এসে জানলাম এবং গুগল পত্রক অ্যাক্সেস করার জন্য জাভাস্ক্রিপ্টের জন্য কোনও এপিআই নেই বলে অবাক হয়েছি।

কীভাবে জাভাস্ক্রিপ্ট বা jQuery এর মতো এর ফ্রেমওয়ার্ক ব্যবহার করে গুগল শিটগুলিতে অ্যাক্সেস করবেন (ক্রিয়েট / এডিট / ডিলেট করুন) আমাকে বলুন।


4
আপনার দেওয়া লিঙ্কটিতে জেএসওএন ব্যবহার সম্পর্কে তথ্য রয়েছে। আপনার এটি জাভাস্ক্রিপ্টে ব্যবহার করতে সক্ষম হওয়া উচিত।
জিএসটি

4
@ জিএসএসে এটি সহায়ক হবে যদি আপনি আমাকে এই বিষয়ে কিছু অন্তর্দৃষ্টি দিতে পারেন তবে আমাকে আবার বলুন আমি জাভাস্ক্রিপ্টের মাধ্যমে গুগল স্প্রেডশিট অ্যাক্সেস করতে চাই han ধন্যবাদ।
প্রতীক

4
এটি হ'ল সম্পূর্ণ টিউটোরিয়াল ডেভেলপারগুলি
google.com/sheets/api/quickstart/js

শীটসু ব্যবহার বিবেচনা করতে পারে। এটি JSON এপিআই এর পক্ষে মোটামুটি সহজ এবং বিনামূল্যে সংস্করণের সাথে সীমাবদ্ধ, তবে গুগল স্প্রেডশিটগুলি ব্যবহার করার জন্য কোনও দেবের কী প্রয়োজন তা সত্যিই সহজ করে তোলে। এই কিছু কিছু মানুষের সাহায্য আশা করি।
জেসেটার

উত্তর:


61

আমি একটি সাধারণ জাভাস্ক্রিপ্ট লাইব্রেরি তৈরি করেছি যা জেএসএন এপিআইয়ের মাধ্যমে গুগল স্প্রেডশিট ডেটা (যদি তারা প্রকাশিত হয়) পুনরুদ্ধার করে:

https://github.com/mikeymckay/google-spreadsheet-javascript

আপনি এটি এখানে কর্মে দেখতে পাবেন:

http://mikeymckay.github.com/google-spreadsheet-javascript/sample.html /


4
এটি আমার অনেক সময় বাঁচিয়েছিল। তোমাকে অনেক ধন্যবাদ! যাইহোক, আমি আপনার কোডটি কাঁটাচামচ করার সিদ্ধান্ত নিয়েছি, খালি ডেটা হ্যান্ডেলগুলি পরিচালনা করতে সক্ষম হয়েছি এবং সারিগুলিতে এটি সংগঠিত করেছি (ডেটা যেমন ফিরিয়ে দেওয়া হচ্ছে ঠিক তেমন একটি কোষের বিশালাকার অ্যারে, কিন্তু যেহেতু খালি ঘরগুলি ছিল না অ্যাকাউন্টে নেওয়া, ডেটা সাজানোর কোনও সহজ উপায় ছিল না)। আপডেটটি কেবলমাত্র আপনার 'কলব্যাকসেলস') পদ্ধতিতে হয়েছিল। এটি দেখুন: github.com/rw3iss/google-spreadsheet-javascript.git আবার ধন্যবাদ মানুষ!
রায়ান ওয়েইস

5
ইভান প্লেইসের উত্তর stackoverflow.com/a/8666573/42082 এ অফিসিয়াল গুগল ডক্স এপিআই এবং স্প্রেডশিট কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও বিশদ তথ্য রয়েছে। এক নজর মূল্যবান।
এপি-ইনাগো

নতুন সংস্করণ এপিআই
3.0.০

গুগল পরিবর্তিত নীতিমালা মনে হচ্ছে এবং এটি এখন ভেঙে গেছে।
চিরাগ

51

জানুয়ারী 2018 আপডেট : আমি যখন গত বছর এই প্রশ্নের উত্তর দিয়েছিলাম, আমি জাভাস্ক্রিপ্ট সহ গুগল এপিআইগুলিতে অ্যাক্সেসের তৃতীয় উপায়টি উল্লেখ করতে অবহেলা করেছি এবং তা নোড.জেএস এর অ্যাপ্লিকেশনগুলি এর ক্লায়েন্ট লাইব্রেরি ব্যবহার করে , সুতরাং আমি এটি নীচে যুক্ত করেছি।

এটি মার্চ 2017 , এবং এখানে বেশিরভাগ উত্তর পুরানো are স্বীকৃত উত্তরটি এখন এমন একটি লাইব্রেরিকে বোঝায় যা পুরানো এপিআই সংস্করণ ব্যবহার করে। আরও বর্তমান উত্তর: আপনি কেবল জাভাস্ক্রিপ্ট সহ বেশিরভাগ গুগল এপিআইতে অ্যাক্সেস করতে পারেন । গুগল আজ এটি করার 3 টি উপায় সরবরাহ করে:

  1. ড্যান ড্যাসক্লেস্কু উত্তরে উল্লিখিত হিসাবে , আপনি গুগলের অ্যাপ্লিকেশন স্ক্রিপ্ট , জাভাস্ক্রিপ্ট-ইন- গুগলের মেঘ সমাধান ব্যবহার করতে পারেন । এটি হ'ল গুগল সার্ভারগুলিতে চালিত ব্রাউজারের বাইরে নন-নোড সার্ভার-সাইড জেএস অ্যাপ্লিকেশন।
  2. আপনি জাভাস্ক্রিপ্টের জন্য গুগল এপিআইএস ক্লায়েন্ট লাইব্রেরিটি ক্লায়েন্টের পক্ষে সর্বশেষতম Google পত্রকগুলি REST এপিআই ব্যবহার করতে পারেন ।
  3. জাভাস্ক্রিপ্ট সহ গুগল এপিআইগুলিতে অ্যাক্সেসের তৃতীয় উপায় হ'ল নোড.জেএস অ্যাপস এর ক্লায়েন্ট লাইব্রেরি ব্যবহার করে । এটি ঠিক উপরে বর্ণিত জাভাস্ক্রিপ্ট (ক্লায়েন্ট) ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে একইভাবে কাজ করে, কেবল আপনি সার্ভার-সাইড থেকে একই API এ অ্যাক্সেস করবেন। শীটগুলির জন্য এখানে নোড.জেএস কুইকস্টার্ট উদাহরণ । উপরের পাইথন-ভিত্তিক ভিডিওগুলি আরও কার্যকর হতে পারে কারণ সেগুলি সার্ভার-সাইড থেকে এপিআই অ্যাক্সেস করে।

REST এপিআই ব্যবহার করার সময়, আপনার উত্স কোড পরিচালনা ও সঞ্চয় করার পাশাপাশি আপনার নিজস্ব প্রমাণীকরণ কোডটি ঘুরিয়ে অনুমোদন সম্পাদন করতে হবে (উপরের নমুনাগুলি দেখুন)। অ্যাপ্লিকেশন স্ক্রিপ্ট আপনার পক্ষ থেকে এটি পরিচালনা করে ডেটা পরিচালনা করে ( তাদের উত্তরে আপি-ইনাগো দ্বারা উল্লিখিত "ব্যথা" হ্রাস করে ) এবং আপনার কোডটি গুগলের সার্ভারগুলিতে সঞ্চিত রয়েছে। তবে আপনার কার্যকারিতা অ্যাপ্লিকেশন স্ক্রিপ্ট যে পরিষেবাগুলি সরবরাহ করে সেগুলিতেই সীমাবদ্ধ রয়েছে যেখানে আরএসটি এপিআই বিকাশকারীদের এপিআইতে আরও বিস্তৃত অ্যাক্সেস দেয়। তবে ওহে, পছন্দ আছে, ভাল? সংক্ষেপে, ওপি মূল প্রশ্নের উত্তর দিতে, শূন্যের পরিবর্তে, বিকাশকারীদের কাছে জাভাস্ক্রিপ্ট ব্যবহার করে গুগল শীট অ্যাক্সেস করার তিনটি উপায় রয়েছে।


36

এখানে গিস্ট

আপনি গুগল পত্রক এপিআই ব্যবহার করে একটি স্প্রেডশিট তৈরি করতে পারেন । এপিআই (ডকুমেন্টেশন পড়ুন) ব্যবহার করে কোনও স্প্রেডশিট মুছে ফেলার কোনও উপায় নেই। গুগল ডক্স এপিআইটিকে নথির তৈরি এবং সন্ধানের জন্য রুট হিসাবে ভাবেন।

আপনি ওয়ার্কশিট ভিত্তিক ফিডগুলি ব্যবহার করে স্প্রেডশিটের মধ্যে ওয়ার্কশিটগুলি যুক্ত / সরিয়ে ফেলতে পারেন ।

কোনও স্প্রেডশিট আপডেট করা তালিকা ভিত্তিক ফিড বা সেল ভিত্তিক ফিডগুলির মাধ্যমে সম্পন্ন হয় ।

উপরোক্ত উল্লিখিত গুগল স্প্রেডশিট এপিআই এর মাধ্যমে বা কেবল প্রকাশিত শিটের জন্য , ডেটা অনুসন্ধানের জন্য গুগল ভিজ্যুয়ালাইজেশন এপিআই কোয়েরি ল্যাঙ্গুয়েজ (যা সিএসভি, জেএসএন, বা এইচটিএমএল টেবিল ফর্ম্যাটে ফলাফলগুলি ফিরিয়ে দিতে পারে) ব্যবহার করে স্প্রেডশিটটি পড়া সম্ভব done


JQuery ভুলে যান। আপনি ডমকে অনুসরণ করছেন তবে jQuery কেবল সত্যই মূল্যবান। যেহেতু GAS (গুগল অ্যাপস স্ক্রিপ্টিং) DOM jQuery ব্যবহার করে না তা আপনার কোডের কোনও মূল্য যোগ করবে না। ভ্যানিলা আটকে

আমি সত্যিই অবাক হয়েছি যে উত্তরে এখনও কেউ এই তথ্য সরবরাহ করেনি। শুধু পারবেন না এটি সম্পন্ন করা, কিন্তু এটা অপেক্ষাকৃত সহজ ভ্যানিলা জাতীয় ব্যবহার করে তা করতে পারেন। গুগল ভিজ্যুয়ালাইজেশন এপিআই হওয়া একমাত্র ব্যতিক্রম যা তুলনামূলকভাবে নতুন (২০১১ হিসাবে)। ভিজ্যুয়ালাইজেশন এপিআই এইচটিটিপি কোয়েরি স্ট্রিং ইউআরআইয়ের মাধ্যমে একচেটিয়াভাবেও কাজ করে।


14

একটি সমাধান রয়েছে যার জন্য স্প্রেডশিট প্রকাশের প্রয়োজন নেই। তবে শীটটি 'ভাগ' করা দরকার। আরও নির্দিষ্টভাবে, লিঙ্কটি সহ যে কেউ স্প্রেডশীট অ্যাক্সেস করতে পারে এমনভাবে শীটটি ভাগ করে নেওয়া দরকার। এটি হয়ে গেলে, কেউ গুগল পত্রক এইচটিটিপি এপিআই ব্যবহার করতে পারেন।

প্রথমত, আপনার একটি Google API কী প্রয়োজন। এখানে যান: https://developers.google.com/places/web-service/get-api-key NB। জনসাধারণের জন্য উপলব্ধ একটি এপিআই কী থাকার সুরক্ষা সম্পর্কে সচেতন হন: https://support.google.com/googleapi/answer/6310037

স্প্রেডশিটের জন্য সমস্ত ডেটা পান - সতর্কতা, এটি অনেক বেশি ডেটা হতে পারে।

https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/?key={yourAPIKey}&includeGridData=true

শীট মেটাডেটা পান

https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/?key={yourAPIKey}

কক্ষের একটি পরিসর পান

https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{sheetName}!{cellRange}?key={yourAPIKey}

এখন এই তথ্যের সাথে সজ্জিত, কেউ তথ্য পুনরুদ্ধার করতে AJAX ব্যবহার করতে পারেন এবং তারপরে এটি জাভাস্ক্রিপ্টে হেরফের করতে পারেন। আমি অক্ষ ব্যবহার করার পরামর্শ দেব

var url = "https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/?key={yourAPIKey}&includeGridData=true";                                                             
axios.get(url)
  .then(function (response) {
    console.log(response);                                                                                                                                                    
  })
  .catch(function (error) {
    console.log(error);                                                                                                                                                       
  });                

গ্রিড ডেটা কী?
উইলিয়াম এন্টারিকেন

@ উইলিয়ামএন্ট্রিকেন
রোবস্কো

11

২০১ update আপডেট : সবচেয়ে সহজ উপায় হ'ল গুগল অ্যাপস স্ক্রিপ্ট এপিআই, বিশেষত স্প্রেডশিট পরিষেবাটি ব্যবহার করা । এটি ব্যক্তিগত উত্তরপত্রের জন্য কাজ করে, অন্যান্য উত্তরগুলির विपरीत, যা স্প্রেডশীট প্রকাশ করা দরকার require

এটি আপনাকে জাভাস্ক্রিপ্ট কোডটি গুগল শিটের সাথে আবদ্ধ করতে এবং শীটটি খোলার সময় বা মেনু আইটেমটি (যা আপনি সংজ্ঞায়িত করতে পারেন) বাছাই করা হলে তা কার্যকর করতে দেয়।

এখানে একটি কুইকস্টার্ট / ডেমো রয়েছে । কোডটি এর মতো দেখাচ্ছে:

// Let's say you have a sheet of First, Last, email and you want to return the email of the
// row the user has placed the cursor on.
function getActiveEmail() {
  var activeSheet = SpreadsheetApp.getActiveSheet();
  var activeRow = .getActiveCell().getRow();
  var email = activeSheet.getRange(activeRow, 3).getValue();

  return email;
}

আপনি ওয়েব অ্যাপ্লিকেশন হিসাবে এই জাতীয় স্ক্রিপ্ট প্রকাশ করতে পারেন ।


6

সম্পাদনা: গুগল ডকের এপিআই প্রকাশের আগে এটির উত্তর দেওয়া হয়েছিল। দেখুন ইভান বোয়াল-জাতীয় মত্স্যবিশেষ এর উত্তর এবং ড্যান Dascalescu এর উত্তর আরো বেশি আপ-টু-ডেট তথ্যের জন্য।

দেখে মনে হচ্ছে এটি আপনি দেখতে পারেন তবে এটি ব্যবহারে ব্যথা। এটিতে গুগল ডেটা এপিআই ব্যবহার করা জড়িত।

http://gdatatips.blogspot.com/2008/12/ using-javascript-client-library-w-non.html

"জাভাস্ক্রিপ্ট ক্লায়েন্ট লাইব্রেরিতে ক্যালেন্ডার, পরিচিতিগুলি, ব্লগার এবং গুগল ফিনান্সের জন্য সহায়ক পদ্ধতি রয়েছে However তবে, আপনি এটি অনুমোদিত বা ব্যক্তিগত ফিডগুলি অ্যাক্সেস করার জন্য কোনও গুগল ডেটা এপিআই দিয়েই ব্যবহার করতে পারেন This এই উদাহরণটি ডকলিস্ট এপিআই ব্যবহার করে" "

এবং স্প্রেডশিটগুলির সাথে ইন্টারফেস করে এমন একটি গ্যাজেট লেখার একটি উদাহরণ: http://code.google.com/apis/spreadsheets/gadgets/


কেন আপনি এটিকে "বেদনা" হিসাবে অভিহিত করেন? এটি করতে ক্ষতি কি?
প্রতীক

4
একটি ব্যথা কারণ এটির কোনও নেটিভ এপি নেই, যার অর্থ আপনার নিজের নিজের অনেকগুলি পার্সিং এবং ডেটা ম্যানিপুলেশন করতে হবে। একটি নেটিভ স্প্রেডশিট এপিআই আপনার জন্য এই সরবরাহ করবে।
এপি-ইনগো

4

'গুগল ডক্স অ্যাক্সেস করা জাভাস্ক্রিপ্ট' প্রয়োগ করা ক্লান্তিকর হবে এবং তদুপরি গুগল ডকুমেন্টেশনগুলি এটি পাওয়া এত সহজও নয়। আমার কিছু ভাগ করার ভাল লিঙ্ক রয়েছে যার মাধ্যমে আপনি জিডোকটিতে জেএস অ্যাক্সেস অর্জন করতে পারেন:

http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html# আপলোডিং ডকস

http://code.google.com/apis/spreadsheets/gadgets/

http://code.google.com/apis/gdata/docs/js.html

http://www.mail-archive.com/google-help-dataapi@googlegroups.com/msg01924.html

এগুলি আপনাকে সাহায্য করতে পারে ..


8
লিংক 1 এপ্রিল 20, 2015, উপর থামানো হবে লিংক 2 404 ত্রুটি, লিংক 3 2.0 অবচিত, লিংক 4 অবচিত
vladkras

2

দুঃখিত, এটি একটি উত্তম উত্তর। স্পষ্টতই এটি একটি সমস্যা হয়েছে প্রায় দু'বছর ধরে হয়ে দাঁড়িয়েছে তাই আপনার দম ধরে রাখবেন না।

আপনি "তারকাচিহ্ন" করতে পারেন এমন সরকারী অনুরোধ এখানে রইল

সম্ভবত আপনি যে নিকটে আসতে পারেন তা হ'ল গুগল অ্যাপ ইঞ্জিন / পাইথনের সাহায্যে আপনার নিজস্ব পরিষেবাটি ঘুরিয়ে দেওয়া এবং আপনার নিজের জেএস লাইব্রেরিতে আপনার যা যা উপসেট প্রয়োজন তা প্রকাশ করা। যদিও আমি নিজেই আরও ভাল সমাধান করতে চাই।


2

এই দ্রুত পরিবর্তিত বিশ্বে এই লিঙ্কগুলির বেশিরভাগই অপ্রচলিত।

এখন আপনি গুগল ড্রাইভ ওয়েব এপিআই ব্যবহার করতে পারেন :


ওপি বিশেষত গুগল শীট সম্পর্কে জিজ্ঞাসা করেছিল , যার ড্রাইভের চেয়ে আরও নির্দিষ্ট একটি এপিআই রয়েছে।
ড্যান ড্যাসক্লেস্কু

ঠিক আছে, এখানে স্প্রেডশিট সহ গুগল সামগ্রীর সম্পূর্ণ তালিকা রয়েছে (যদিও আমার প্রথম লিঙ্কটি ব্যবহার করে খুঁজে পাওয়া সহজ)
ভ্লাদক্রাস


1

আপনি আরগ্রাফ পত্রক সংযোগকারীটি ব্যবহার করে জাভাস্ক্রিপ্টে গুগল শীট স্প্রেডশিট ডেটা পড়তে পারেন:

https://www.r অনুগ্রহ করে

প্রথমদিকে (কয়েক বছর আগে) এটি এর যাদুটি চালানোর জন্য কিছু আরগ্রাফ ফাংশনগুলির উপর নির্ভর করেছিল - তবে এখন এটি স্ট্যান্ডেলোন কাজ করতে পারে (অর্থাত RGraph সাধারণ গ্রন্থাগার প্রয়োজন নয়)।

কিছু উদাহরণ কোড (এই উদাহরণটি একটি আরগ্রাফ চার্ট তৈরি করে):

<!-- Include the sheets library -->
<script src="RGraph.common.sheets.js"></script>

<!-- Include these two RGraph libraries to make the chart -->
<script src="RGraph.common.key.js"></script>
<script src="RGraph.bar.js"></script>

<script>
    // Create a new RGraph Sheets object using the spreadsheet's key and
    // the callback function that creates the chart. The RGraph.Sheets object is
    // passed to the callback function as an argument so it doesn't need to be
    // assigned to a variable when it's created
    new RGraph.Sheets('1ncvARBgXaDjzuca9i7Jyep6JTv9kms-bbIzyAxbaT0E', function (sheet)
    {
        // Get the labels from the spreadsheet by retrieving part of the first row
        var labels = sheet.get('A2:A7');

        // Use the column headers (ie the names) as the key
        var key = sheet.get('B1:E1');

        // Get the data from the sheet as the data for the chart
        var data   = [
            sheet.get('B2:E2'), // January
            sheet.get('B3:E3'), // February
            sheet.get('B4:E4'), // March
            sheet.get('B5:E5'), // April
            sheet.get('B6:E6'), // May
            sheet.get('B7:E7')  // June
        ];

        // Create and configure the chart; using the information retrieved above
        // from the spreadsheet
        var bar = new RGraph.Bar({
            id: 'cvs',
            data: data,
            options: {
                backgroundGridVlines: false,
                backgroundGridBorder: false,
                xaxisLabels: labels,
                xaxisLabelsOffsety: 5,
                colors: ['#A8E6CF','#DCEDC1','#FFD3B6','#FFAAA5'],
                shadow: false,
                colorsStroke: 'rgba(0,0,0,0)',
                yaxis: false,
                marginLeft: 40,
                marginBottom: 35,
                marginRight: 40,
                key: key,
                keyBoxed: false,
                keyPosition: 'margin',
                keyTextSize: 12,
                textSize: 12,
                textAccessible: false,
                axesColor: '#aaa'
            }
        }).wave();
    });
</script>

এবং এখন আমদানি ইউটিলিটির একটি পিএইচপি সংস্করণ রয়েছে - একই ইউআরএলে উপলব্ধ
রিচার্ড

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.