دليل الناشرون

يحتوي هذا القسم على واجهة التطبيق البرمجية الخاصة بالناشرين الذين يريدون استخدام البوابة السعودسة للبيانات المفتوحة في نشر البيانات

المصادقة والمفاتيح

بعض الوظائف تتطلب إذن. لذلك تستخدم واجهة التطبيقات البرمجية نفس التفويض للوظائف في واجهة الويب ، لذلك إذا كان المستخدم مخولًا بعمل شيء ما في واجهة الويب سيكون مصرح له بالقيام بذلك عبر واجهة التطبيقات البرمجية مثل .

عند استدعاء وظيفة تتطلب إذن ، يجب عليك المصادقة من خلال توفير المفتاح الخاص بك مع طلب HTTP الخاص بك. للعثور على API الخاص بك.

To provide your API key in an HTTP request, include it in either an Authorization or X-API-Key header. (The name of the HTTP header can be configured with the apikey_header_name option in your configuration file.)

request = urllib2.Request('https://data.gov.sa/api/3/action/dashboard_activity_list')
request.add_header('Authorization', 'XXX')
response_dict = json.loads(urllib2.urlopen(request, '{}').read())

على سبيل المثال ، باستخدام واجهة التطبيقات البرمجة يمكنك:

إضافة مجموعات البيانات

يمكنك إضافة مجموعات البيانات باستخدام واجهة الويب ، ولكن عند الحاجه لإضافة العديد من مجموعات البيانات ، قد تحتاج لأتمتة العملية بطريقة ما. في هذا المثال ، سنعرض لك كيفية استخدام واجهة التطبيقات البرمجية لكتابة نص Python لإضافة مجموعات البيانات إلى البوابة السعودية للبيانات المفتوحة

مثال

#!/usr/bin/env python;

import urllib2

import urllib

import json

import pprint

# Put the details of the dataset we're going to create into a dict.

dataset_dict = {

'name': 'my_dataset_name',

'notes': 'A long description of my dataset',

'owner_org': 'org_id_or_name'

}

# Use the json module to dump the dictionary to a string for posting.

data_string = urllib.quote(json.dumps(dataset_dict))

# We'll use the package_create function to create a new dataset.

request = urllib2.Request(

'https://www.data.gov.sa/api/action/package_create')

# Creating a dataset requires an authorization header.

# Replace *** with your API key, from your user account on the http://data.gov.sa site

# that you're creating the dataset on.

request.add_header('Authorization', '***')

# Make the HTTP request.

response = urllib2.urlopen(request, data_string)

assert response.code == 200

# Use the json module to load the response into a dictionary.

response_dict = json.loads(response.read())

assert response_dict['success'] is True

# package_create returns the created package as its result.

created_package = response_dict['result']

pprint(created_package)

vote: 
No votes yet

التعليقات

لاتوجد نتيجة متاحة