Hallo,
Ik onderzoek een koppeling met WooCommerce ( Wordpress ).
Het ophalen van bijvoorbeeld producten of orders is geen probleem (GET), maar het veranderen van bijvoorbeeld de prijs van een product wil niet.
ik heb de volgende code :
Code:
...
...
RESTRequest1: TRESTRequest;
RESTResponse1: TRESTResponse;
RESTClient1: TRESTClient;
RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter;
OAuth1_FitBit: TOAuth1Authenticator;
...
...
procedure TForm7.Button1Click(Sender: TObject);
var s: String;
vJSONBytes: TBytes;
vJSONScenario: TJSONValue;
vJSONArray: TJSONArray;
vJSONValue: TJSONValue;
vJSONObject: TJSONObject;
vJSONPair: TJSONPair;
vJSONScenarioEntry: TJSONValue;
vJSONScenarioValue: TJSONString;
begin
RESTRequest1.ResetToDefaults;
RESTClient1.ResetToDefaults;
RESTResponse1.ResetToDefaults;
RESTResponseDataSetAdapter1.ResetToDefaults;
OAuth1_FitBit.ResetToDefaults;
OAuth1_FitBit.ConsumerKey := User_ID;
OAuth1_FitBit.ConsumerSecret := User_PW;
RESTClient1.BaseURL := 'http://localhost/WPTest';
RESTClient1.SetHTTPHeader('cache-control', 'no-cache');
RESTRequest1.Resource := '/wp-json/wc/v3/products/13';
RESTRequest1.AddParameter('oauth_consumer_key', User_ID);
RESTRequest1.AddParameter('oauth_consumer_secret', User_pw);
RESTRequest1.AddParameter('oauth_signature_method', 'HMAC-SHA1');
RESTRequest1.AddParameter('oauth_nonce', OAuth1_FitBit.nonce);
RESTRequest1.AddParameter('oauth_timestamp', OAuth1_FitBit.timeStamp.DeQuotedString);
RESTRequest1.AddParameter('oauth_version', '1.0');
RESTRequest1.AddParameter('sale_price', '45');
s := OAuth1_FitBit.SigningClass.BuildSignature(RESTRequest1, OAuth1_FitBit);
RESTRequest1.AddParameter('oauth_signature', s);
// RESTRequest1.Method := TRESTRequestMethod.rmGET;
RESTRequest1.Method := TRESTRequestMethod.rmPUT;
RESTRequest1.Execute;
s := RESTResponse1.JSONText;
Memo1.Text := s;
end;
bij het uitvoeren van de PUT krijg ik de volgende melding:
Code:
{
"code": "woocommerce_rest_cannot_edit",
"message": "Je hebt geen toestemming om deze gegevensbron te bewerken.",
"data": {
"status": 401
}
}
Nu heb ik mezelf suf geGoogled, maar een oplossing heb ik niet gevonden ( genoeg "oplossingen" gezien, maar niet één waar ik wat aan heb ).
Ik zie ook nergens in Wordpress of Woocommerce hier een instelling voor.
mijn twee sleutels ( customer en secret ) zijn zeer zeker juist
Wie kan mij verder helpen hiermee ?
( Delphi Rio, FMX, zaterdag een actuele download van WordPress en WooCommerce en lokaal op de pc geïnstalleerd )
Bookmarks