পরিষেবাদি 3.x এবং জেএসওএন সহ মন্তব্য এবং নোড তৈরি করা


10

/Comment.json এ কোনও পোস্টকে সনাক্ত করতে আমার পরিষেবা পেতে সমস্যা হচ্ছে। নোড তৈরির ক্ষেত্রেও আমার একই সমস্যা।

নিম্নলিখিতটি আমি পেয়েছি ত্রুটি: HTTP / 1.1 406 গ্রহণযোগ্য নয়: প্রয়োজনীয় যুক্তি মন্তব্য অনুপস্থিত

এই বার্তাটি ফাইলটি থেকে আসে: /services/server/rest_server/includes/RESTServer.inc বিশেষত, লাইনগুলি:

  elseif (!isset($info['optional']) || !$info['optional']) {
    return services_error(t('Missing required argument !arg', array(
      '!arg' => $info['name'],
    )), 406);
  }

মূলত, মনে হয় "মন্তব্য" যুক্তিটি অনুপস্থিত (এবং এটি alচ্ছিক নয়)।

এটি আমি দিয়েছি JSON এর অনেকগুলি বিটের মধ্যে একটি (নোট 8801 এ একটি মন্তব্য পোস্ট করা)

{name:"test",language:"und",cid:"0",pid:"0",uid:"17593",nid:"8801",
comment:{subject:"Subject of the comment, if not entered it will be auto-generated",
comment_body:
{und:[
[{value:"value of the field comment in the comment, remember that in D7 we can create fields for comments too", format: "full_html"}]
]}}}

এটি পুরোপুরি বৈধ (অন্যান্য অনলাইন জেএসওন চেকগুলির উপর ভিত্তি করে)। এটি / সার্ভিসেসটেষ্ট / টেস্ট / ফাংশনাল / সার্ভিসস রিসোর্সকমেন্টটেষ্ট.স্টেস্টসে পরীক্ষার উদাহরণগুলিতে আমি যা দেখি তার সাথে এটিও মেলে

তবে আমি সর্বদা একই ত্রুটি বার্তাটি পাই। এটি এর অনুরূপ: ড্রুপাল 7 পরিষেবাদি জসন নোড অবজেক্ট

যা সমাধানও হয়নি। কেউ আমাকে সঠিক JSON ফর্ম্যাটিংয়ে সহায়তা করতে পারে? সত্যিই, আমি যা করতে চাই তা হ'ল এটির মতো কিছু পাস করা:

{ nid : 8081 , uid : 17593 ,comment:{comment_body:"test",subject:"test"}}

আমার HTTP শিরোনামগুলি ঠিক আছে এবং ব্যবহারকারী / লগইন ভাল কাজ করেছে।

উত্তর:


5

নিম্নলিখিত জেএসওএন আপনাকে মন্তব্য পোস্ট করার জন্য ন্যূনতম বলে মনে হচ্ছে:

{
  "nid":"1",
  "subject":"Comment Subject Text",
  "comment_body":{
    "und":[{
      "value":"Comment body text"
    }]
  }
}

যেহেতু কোনও ব্যবহারকারী নেই, তাই এই "উদাহরণ.com/node/1" তে মন্তব্য করার জন্য অনামী ব্যবহারকারীদের মন্তব্য পোস্ট করার অনুমতি সেট করা দরকার।


2

দেখা যাচ্ছে আমি প্রমাণীকরণ ছাড়াই নোড / মন্তব্য তৈরি করার চেষ্টা করছিলাম এবং সাইট বেনামী ব্যবহারকারীদের নোড / মন্তব্য তৈরি করতে দেয় নি। একবার আমি সেশন লেখক অন করে নিলাম, সঠিকভাবে লগ ইন করেছি, জিনিসগুলি ভাল কাজ করেছে।


1
সুতরাং আপনি ড্রপাল পরিষেবাগুলিতে বা আপনার আরএসইটি ক্লায়েন্টে সেশন অথ চালু করেছেন? আপনি এটি কীভাবে করেছিলেন তার জন্য কিছু দ্রুত পরামর্শ দিতে পারেন?
ted.strauss

2

আপনি কি বলতে পারবেন যে আপনি এই ইউএসএন স্ট্রিংটি কোন ইউআরএল পোস্ট করবেন। পরিষেবাদি ব্যবহার করে কোনও নোডে কীভাবে একটি মন্তব্য তৈরি করা যায় সে সম্পর্কে আমি কিছু ডকুমেন্টেশনের জন্য সমস্ত ওয়েব জুড়ে খুঁজছি this এই মডিউলে ডকুমেন্টেশনটি সম্পূর্ণরূপে অনুপস্থিত। আমি এখানে পোস্ট করার চেষ্টা করেছি:

example.com/api/node/{nid}/comments.json

example.com/api/comment.json

example.com/api/comment/create.json

কিছুই কাজ মনে হচ্ছে না। আমি সর্বদা "404 পাওয়া যায়নি: নিয়ামক খুঁজে পাইনি"

সম্পাদনা: এটি পোস্ট করার সাথে সাথে আমি এটি কাজে লাগিয়েছি। এটি যদি আপনার অন্য কাউকে আপনার জসন স্ট্রিং পোস্ট করতে সহায়তা করে:

example.com/api/comment.json

আপনি যদি পরীক্ষার জন্য পোস্টার ব্যবহার করছেন তবে বিষয়বস্তুর প্রকারটি অ্যাপ্লিকেশন / জেসসনে সেট করতে ভুলবেন না। Jquery ব্যবহার করার সময় আপনি ডেটা টাইপ সেট করেছেন তা নিশ্চিত করুন: 'জেসন'।


2

নীচের ফর্ম্যাটে নোড এবং মন্তব্যগুলি তৈরি এবং আপডেট করার জন্য এখানে কয়েকটি উদাহরণ রয়েছে:

  • এইচটিটিপি পদ্ধতি
  • বিষয়বস্তুর প্রকার
  • ইউআরএল পাথ
  • প্রেরণে ডেটা

নোড তৈরি করুন

  • পোস্ট
  • কনটেন্টটাইপ: অ্যাপ্লিকেশন / জেসন
  • ? কুই = শেষবিন্দু / node.json

    { "টাইপ": "প্রবন্ধে", "শিরোনাম": "t8yZUfX2it", "ভাষা": "আন্ড"}

নোড আপডেট

  • PUT
  • কনটেন্টটাইপ: অ্যাপ্লিকেশন / জেসন
  • ? কুই = শেষবিন্দু / নোড / 123.json

    { "নোড": { "NID": "123", "শিরোনাম": "9AjrXJhWMI", "ভাষা": "আন্ড"}}

মন্তব্য তৈরি করুন

  • পোস্ট
  • কনটেন্টটাইপ: অ্যাপ্লিকেশন / জেসন
  • ? কুই = শেষবিন্দু / comment.json

    subject "বিষয়": "liJmJfpqMX", "মন্তব্য_বডি": {"আনড": [{"মান": "9DyaNZi3lA"}]}, "নিড": "18"}

মন্তব্য আপডেট

  • PUT
  • কনটেন্ট টাইপ: অ্যাপ্লিকেশন / এক্স-www-ফর্ম-urlencoded
  • ? কুই = শেষবিন্দু / মন্তব্য / 456.json

    id সিডি: 456, "বিষয়": "hzU27R6daE", "মন্তব্য_বডি": {"আনড": [{"মান": "বকজেডউ 5 ডিডাব্লিউআরডি"}]}, "নিড": "18"}


1
এটি ভাল কাজ করে। গ্রহণযোগ্য উত্তর হওয়া উচিত! একটি বিষয় মনে রাখবেন সেটি কীটি যুক্ত করা: আপনি যদি ক্রোম পোস্টম্যান থেকে পরীক্ষা নিচ্ছেন তবে আপনার শিরোনামটিতে "বিষয়বস্তুর ধরণের" মান: "অ্যাপ্লিকেশন / জেসসন"। এটি আর একটি অমূল্য সম্পদ: https://www.drupal.org/node/1447020
লংবোর্ড নোড

1

আমি কেবল ফায়ারফক্স প্লাগইন পোস্টার দিয়ে পরীক্ষা করার সময়ও একই রকম সমস্যা পেয়েছিলাম। দেখা যাচ্ছে যে এটি কেবল অতিরিক্ত শ্বেতস্থান এবং এটির মতো কিছু সাধারণ ফরম্যাটিং (যেমন পালানো) ছিল। আমার যা প্রয়োজন তার জন্য আমার নিজের পরীক্ষায় কী কাজ করে তার একটি তালিকা এখানে রয়েছে:

ব্যবহারকারী তৈরি করুন = শেষ পয়েন্ট / ব্যবহারকারী

{"name":"myusername","pass":"12345678","mail":"myemail@example.com","status":"1"}

লগইন ওয়ার্কস = শেষ পয়েন্ট / ব্যবহারকারী / লগইন

{"username":"admin","password":"admin"}

ফাইল কাজ তৈরি করুন = শেষ পয়েন্ট / ফাইল

{"uid":"1","filesize":"99999","filename":"whatever.bin","file":"BASE64_ENCODED_DATA"}

নোড ওয়ার্কস তৈরি করুন = শেষ পয়েন্ট / নোড

{"title":"testrest1","type":"dl","field_dl_file":{"und":[{"fid":582}]},"uid":"1","language":"und"}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.