John Xu
John Xu

Reputation: 1

IBM Watson Unity SDK, IamAuthenticator objects cannot authenticate successfully

I am trying to query Watson Discovery News and get some responses in Unity.

First I tried to authenticate my Watson Discovery service through Discovery service APIKey(As described in the "IAM" section in https://github.com/watson-developer-cloud/unity-sdk). My code is exactly the same as the example code in "Query a collection" section in https://cloud.ibm.com/apidocs/discovery/discovery?code=unity#query-a-collection.

Unfortunately, the code always returns due to unsuccessful authentication, thus I cannot get any response. After some debugging, I found out that "tokenData" field in IamAuthenticator.cs(This is part of IBM Unity SDK) is not initialized; this leads to the unsuccessful authentication.

I was able to debug by changing the "yield return" in example code to "return". Otherwise, C# debugger cannot step into the code.

Since I have followed all the steps in IBM documentations, I am not sure how to proceed.


To reproduce the problem, one has to download IBM Unity SDK on https://github.com/watson-developer-cloud/unity-sdk and follow the instructions in README. After setting up, one could replicate the problem using the code below:

var authenticator = new IamAuthenticator(
    apikey: "{apikey}"
);

while (!authenticator.CanAuthenticate())
    yield return null;

Thanks in advance for any help!

Upvotes: 0

Views: 286

Answers (2)

John Xu
John Xu

Reputation: 1

I bypassed this problem using Token authentication instead of using APIkey. If one has the choice of using other SDKs, e.g. Java SDK, please do so. Because Watson Unity SDK is not well supported at the moment.

Upvotes: 0

Allen Dean
Allen Dean

Reputation: 597

Have you set the URL (SetServiceUrl) to match the location for your service instance? See Service Endpoint in the API reference

Upvotes: 1

Related Questions