Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) WordPress Authentication with Applications Password PluginSee more WordPress ExamplesDemonstrates basic username/password authentication using the WordPress Applications Password plugin. For more information, see https://wordpress.org/plugins/application-passwords/
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # Implements the following CURL command: # curl -X GET --user wp_username:app_password https://www.yoursite.com/wp-json/wp/v2/posts?page=1 # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code # Use your WordPress login, such as "admin", not the application name. http.put_Login("wp_username") # Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" http.put_Password("app_password") http.put_BasicAuth(true) sbResponseBody = Chilkat::CkStringBuilder.new() success = http.QuickGetSb("https://www.yoursite.com/wp-json/wp/v2/posts?page=1",sbResponseBody) if (success == false) print http.lastErrorText() + "\n"; exit end jarrResp = Chilkat::CkJsonArray.new() jarrResp.LoadSb(sbResponseBody) jarrResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jarrResp.emit() + "\n"; respStatusCode = http.get_LastStatus() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode >= 400) print "Response Header:" + "\n"; print http.lastHeader() + "\n"; print "Failed." + "\n"; exit end # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # [ # { # "id": 1902, # "date": "2020-11-16T09:54:09", # "date_gmt": "2020-11-16T16:54:09", # "guid": { # "rendered": "http:\/\/cknotes.com\/?p=1902" # }, # "modified": "2020-11-16T09:54:09", # "modified_gmt": "2020-11-16T16:54:09", # "slug": "xero-redirect-uri-for-oauth2-and-desktop-apps", # "status": "publish", # "type": "post", # "link": "https:\/\/cknotes.com\/xero-redirect-uri-for-oauth2-and-desktop-apps\/", # "title": { # "rendered": "Xero Redirect URI for OAuth2 and Desktop Apps" # }, # "content": { # "rendered": "<p>...", # "protected": false # }, # "excerpt": { # "rendered": "<p>...", # "protected": false # }, # "author": 1, # "featured_media": 0, # "comment_status": "closed", # "ping_status": "open", # "sticky": false, # "template": "", # "format": "standard", # "meta": [ # ], # "categories": [ # 815 # ], # "tags": [ # 594, # 816 # ], # "_links": { # "self": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/posts\/1902" # } # ], # "collection": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/posts" # } # ], # "about": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/types\/post" # } # ], # "author": [ # { # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/users\/1" # } # ], # "replies": [ # { # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/comments?post=1902" # } # ], # "version-history": [ # { # "count": 1, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/posts\/1902\/revisions" # } # ], # "predecessor-version": [ # { # "id": 1904, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/posts\/1902\/revisions\/1904" # } # ], # "wp:attachment": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/media?parent=1902" # } # ], # "wp:term": [ # { # "taxonomy": "category", # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/categories?post=1902" # }, # { # "taxonomy": "post_tag", # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/tags?post=1902" # } # ], # "curies": [ # { # "name": "wp", # "href": "https:\/\/api.w.org\/{rel}", # "templated": true # } # ] # } # }, # ... # ] # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON date_gmt = Chilkat::CkDtObj.new() i = 0 count_i = jarrResp.get_Size() while i < count_i # json is a CkJsonObject json = jarrResp.ObjectAt(i) id = json.IntOf("id") date = json.stringOf("date") json.DtOf("date_gmt",false,date_gmt) guidRendered = json.stringOf("guid.rendered") modified = json.stringOf("modified") modified_gmt = json.stringOf("modified_gmt") slug = json.stringOf("slug") status = json.stringOf("status") v_type = json.stringOf("type") link = json.stringOf("link") titleRendered = json.stringOf("title.rendered") contentRendered = json.stringOf("content.rendered") contentProtected = json.BoolOf("content.protected") excerptRendered = json.stringOf("excerpt.rendered") excerptProtected = json.BoolOf("excerpt.protected") author = json.IntOf("author") featured_media = json.IntOf("featured_media") comment_status = json.stringOf("comment_status") ping_status = json.stringOf("ping_status") sticky = json.BoolOf("sticky") template = json.stringOf("template") format = json.stringOf("format") j = 0 count_j = json.SizeOfArray("meta") while j < count_j json.put_J(j) j = j + 1 end j = 0 count_j = json.SizeOfArray("categories") while j < count_j json.put_J(j) intVal = json.IntOf("categories[j]") j = j + 1 end j = 0 count_j = json.SizeOfArray("tags") while j < count_j json.put_J(j) intVal = json.IntOf("tags[j]") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.self") while j < count_j json.put_J(j) href = json.stringOf("_links.self[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.collection") while j < count_j json.put_J(j) href = json.stringOf("_links.collection[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.about") while j < count_j json.put_J(j) href = json.stringOf("_links.about[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.author") while j < count_j json.put_J(j) embeddable = json.BoolOf("_links.author[j].embeddable") href = json.stringOf("_links.author[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.replies") while j < count_j json.put_J(j) embeddable = json.BoolOf("_links.replies[j].embeddable") href = json.stringOf("_links.replies[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.version-history") while j < count_j json.put_J(j) count = json.IntOf("_links.version-history[j].count") href = json.stringOf("_links.version-history[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.predecessor-version") while j < count_j json.put_J(j) id = json.IntOf("_links.predecessor-version[j].id") href = json.stringOf("_links.predecessor-version[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.wp:attachment") while j < count_j json.put_J(j) href = json.stringOf("_links.wp:attachment[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.wp:term") while j < count_j json.put_J(j) taxonomy = json.stringOf("_links.wp:term[j].taxonomy") embeddable = json.BoolOf("_links.wp:term[j].embeddable") href = json.stringOf("_links.wp:term[j].href") j = j + 1 end j = 0 count_j = json.SizeOfArray("_links.curies") while j < count_j json.put_J(j) name = json.stringOf("_links.curies[j].name") href = json.stringOf("_links.curies[j].href") templated = json.BoolOf("_links.curies[j].templated") j = j + 1 end i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.