Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) 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/
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp ' 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.Login = "wp_username" ' Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" http.Password = "app_password" http.BasicAuth = True Dim sbResponseBody As Chilkat.StringBuilder Set sbResponseBody = Chilkat.NewStringBuilder success = http.QuickGetSb("https://www.yoursite.com/wp-json/wp/v2/posts?page=1",sbResponseBody) If (success = False) Then Debug.Print http.LastErrorText Exit Sub End If Dim jarrResp As Chilkat.JsonArray Set jarrResp = Chilkat.NewJsonArray Dim success As Boolean success = jarrResp.LoadSb(sbResponseBody) jarrResp.EmitCompact = False Debug.Print "Response Body:" Debug.Print jarrResp.Emit() respStatusCode = http.LastStatus Debug.Print "Response Status Code = "; respStatusCode If (respStatusCode >= 400) Then Debug.Print "Response Header:" Debug.Print http.LastHeader Debug.Print "Failed." Exit Sub End If ' 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 Dim date_gmt As Chilkat.DtObj Set date_gmt = Chilkat.NewDtObj i = 0 count_i = jarrResp.Size Do While i < count_i Set json = jarrResp.ObjectAt(i) id = json.IntOf("id") date = json.StringOf("date") success = 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") Do While j < count_j json.J = j j = j + 1 Loop j = 0 count_j = json.SizeOfArray("categories") Do While j < count_j json.J = j intVal = json.IntOf("categories[j]") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("tags") Do While j < count_j json.J = j intVal = json.IntOf("tags[j]") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.self") Do While j < count_j json.J = j href = json.StringOf("_links.self[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.collection") Do While j < count_j json.J = j href = json.StringOf("_links.collection[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.about") Do While j < count_j json.J = j href = json.StringOf("_links.about[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.author") Do While j < count_j json.J = j embeddable = json.BoolOf("_links.author[j].embeddable") href = json.StringOf("_links.author[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.replies") Do While j < count_j json.J = j embeddable = json.BoolOf("_links.replies[j].embeddable") href = json.StringOf("_links.replies[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.version-history") Do While j < count_j json.J = j count = json.IntOf("_links.version-history[j].count") href = json.StringOf("_links.version-history[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.predecessor-version") Do While j < count_j json.J = j id = json.IntOf("_links.predecessor-version[j].id") href = json.StringOf("_links.predecessor-version[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.wp:attachment") Do While j < count_j json.J = j href = json.StringOf("_links.wp:attachment[j].href") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("_links.wp:term") Do While j < count_j json.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 Loop j = 0 count_j = json.SizeOfArray("_links.curies") Do While j < count_j json.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 Loop i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.