Skip to content

Commit fac77b0

Browse files
author
ekoleda
committed
Added a Wordpress API sample.
1 parent 5b7cf96 commit fac77b0

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

samples/Wordpress.gs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
var CLIENT_ID = '...';
2+
var CLIENT_SECRET = '...';
3+
4+
/**
5+
* Authorizes and makes a request to the Wordpress API.
6+
*/
7+
function run() {
8+
var service = getService();
9+
if (service.hasAccess()) {
10+
var blogId = service.getToken_().blog_id;
11+
var url = 'https://public-api.wordpress.com/rest/v1.1/sites/' + blogId + '/posts';
12+
var response = UrlFetchApp.fetch(url, {
13+
headers: {
14+
'Authorization': 'Bearer ' + service.getAccessToken()
15+
}
16+
});
17+
var result = JSON.parse(response.getContentText());
18+
Logger.log(JSON.stringify(result, null, 2));
19+
} else {
20+
var authorizationUrl = service.getAuthorizationUrl();
21+
Logger.log('Open the following URL and re-run the script: %s',
22+
authorizationUrl);
23+
}
24+
}
25+
26+
/**
27+
* Reset the authorization state, so that it can be re-tested.
28+
*/
29+
function reset() {
30+
var service = getService();
31+
service.reset();
32+
}
33+
34+
/**
35+
* Configures the service.
36+
*/
37+
function getService() {
38+
return OAuth2.createService('Wordpress')
39+
// Set the endpoint URLs.
40+
.setTokenUrl('https://public-api.wordpress.com/oauth2/token')
41+
.setAuthorizationBaseUrl('https://public-api.wordpress.com/oauth2/authorize')
42+
43+
// Set the client ID and secret.
44+
.setClientId(CLIENT_ID)
45+
.setClientSecret(CLIENT_SECRET)
46+
47+
// Set the name of the callback function in the script referenced
48+
// above that should be invoked to complete the OAuth flow.
49+
.setCallbackFunction('authCallback')
50+
51+
// Set the property store where authorized tokens should be persisted.
52+
.setPropertyStore(PropertiesService.getUserProperties());
53+
}
54+
55+
/**
56+
* Handles the OAuth2 callback.
57+
*/
58+
function authCallback(request) {
59+
var service = getService();
60+
var authorized = service.handleCallback(request);
61+
if (authorized) {
62+
return HtmlService.createHtmlOutput('Success!');
63+
} else {
64+
return HtmlService.createHtmlOutput('Denied');
65+
}
66+
}

0 commit comments

Comments
 (0)