|
584 | 584 | }, |
585 | 585 | { |
586 | 586 | "cell_type": "code", |
587 | | - "execution_count": null, |
| 587 | + "execution_count": 12, |
588 | 588 | "id": "a305c1f1", |
589 | 589 | "metadata": {}, |
590 | 590 | "outputs": [], |
|
661 | 661 | }, |
662 | 662 | { |
663 | 663 | "cell_type": "code", |
664 | | - "execution_count": null, |
| 664 | + "execution_count": 13, |
665 | 665 | "id": "c93f4097", |
666 | 666 | "metadata": {}, |
667 | | - "outputs": [], |
| 667 | + "outputs": [ |
| 668 | + { |
| 669 | + "ename": "RequestsApiError", |
| 670 | + "evalue": "'401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken. Login failed., Error code: 3446.'", |
| 671 | + "output_type": "error", |
| 672 | + "traceback": [ |
| 673 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 674 | + "\u001b[0;31mHTTPError\u001b[0m Traceback (most recent call last)", |
| 675 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/session.py:278\u001b[0m, in \u001b[0;36mRetrySession.request\u001b[0;34m(self, method, url, bare, **kwargs)\u001b[0m\n\u001b[1;32m 277\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mrequest(method, final_url, headers\u001b[38;5;241m=\u001b[39mheaders, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m--> 278\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 279\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m RequestException \u001b[38;5;28;01mas\u001b[39;00m ex:\n\u001b[1;32m 280\u001b[0m \u001b[38;5;66;03m# Wrap the requests exceptions into a IBM Q custom one, for\u001b[39;00m\n\u001b[1;32m 281\u001b[0m \u001b[38;5;66;03m# compatibility.\u001b[39;00m\n", |
| 676 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/requests/models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[0;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n", |
| 677 | + "\u001b[0;31mHTTPError\u001b[0m: 401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken", |
| 678 | + "\nThe above exception was the direct cause of the following exception:\n", |
| 679 | + "\u001b[0;31mRequestsApiError\u001b[0m Traceback (most recent call last)", |
| 680 | + "Cell \u001b[0;32mIn[13], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mIBMQ\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_account\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m provider \u001b[38;5;241m=\u001b[39m IBMQ\u001b[38;5;241m.\u001b[39mget_provider()\n\u001b[1;32m 3\u001b[0m IBMQC\u001b[38;5;241m=\u001b[39mprovider\u001b[38;5;241m.\u001b[39mget_backend(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mibmq_manila\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", |
| 681 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/ibmqfactory.py:191\u001b[0m, in \u001b[0;36mIBMQFactory.load_account\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 187\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCredentials are already in use. The existing \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 188\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124maccount in the session will be replaced.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 189\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdisable_account()\n\u001b[0;32m--> 191\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_initialize_providers\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreferences\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[38;5;66;03m# Prevent edge case where no hubs are available.\u001b[39;00m\n\u001b[1;32m 194\u001b[0m providers \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mproviders()\n", |
| 682 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/ibmqfactory.py:456\u001b[0m, in \u001b[0;36mIBMQFactory._initialize_providers\u001b[0;34m(self, credentials, preferences)\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_initialize_providers\u001b[39m(\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28mself\u001b[39m, credentials: Credentials,\n\u001b[1;32m 448\u001b[0m preferences: Optional[Dict] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 449\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 450\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Authenticate against IBM Quantum and populate the providers.\u001b[39;00m\n\u001b[1;32m 451\u001b[0m \n\u001b[1;32m 452\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;124;03m credentials: Credentials for IBM Quantum.\u001b[39;00m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;124;03m preferences: Account preferences.\u001b[39;00m\n\u001b[1;32m 455\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 456\u001b[0m auth_client \u001b[38;5;241m=\u001b[39m \u001b[43mAuthClient\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtoken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 457\u001b[0m \u001b[43m \u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbase_url\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnection_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 459\u001b[0m service_urls \u001b[38;5;241m=\u001b[39m auth_client\u001b[38;5;241m.\u001b[39mcurrent_service_urls()\n\u001b[1;32m 460\u001b[0m user_hubs \u001b[38;5;241m=\u001b[39m auth_client\u001b[38;5;241m.\u001b[39muser_hubs()\n", |
| 683 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:41\u001b[0m, in \u001b[0;36mAuthClient.__init__\u001b[0;34m(self, api_token, auth_url, **request_kwargs)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_service_urls \u001b[38;5;241m=\u001b[39m {} \u001b[38;5;66;03m# type: ignore[var-annotated]\u001b[39;00m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauth_api \u001b[38;5;241m=\u001b[39m Api(RetrySession(auth_url, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mrequest_kwargs))\n\u001b[0;32m---> 41\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbase_api \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_init_service_clients\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrequest_kwargs\u001b[49m\u001b[43m)\u001b[49m\n", |
| 684 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:53\u001b[0m, in \u001b[0;36mAuthClient._init_service_clients\u001b[0;34m(self, **request_kwargs)\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Initialize the clients used for communicating with the API.\u001b[39;00m\n\u001b[1;32m 45\u001b[0m \n\u001b[1;32m 46\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;124;03m Client for the API server.\u001b[39;00m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;66;03m# Request an access token.\u001b[39;00m\n\u001b[0;32m---> 53\u001b[0m access_token \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request_access_token\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;66;03m# Use the token for the next auth server requests.\u001b[39;00m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauth_api\u001b[38;5;241m.\u001b[39msession\u001b[38;5;241m.\u001b[39maccess_token \u001b[38;5;241m=\u001b[39m access_token\n", |
| 685 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:75\u001b[0m, in \u001b[0;36mAuthClient._request_access_token\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Request a new access token from the API authentication service.\u001b[39;00m\n\u001b[1;32m 66\u001b[0m \n\u001b[1;32m 67\u001b[0m \u001b[38;5;124;03mReturns:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124;03m RequestsApiError: If the request failed.\u001b[39;00m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 75\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mauth_api\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlogin\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapi_token\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 77\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m RequestsApiError \u001b[38;5;28;01mas\u001b[39;00m ex:\n\u001b[1;32m 78\u001b[0m \u001b[38;5;66;03m# Get the original exception that raised.\u001b[39;00m\n", |
| 686 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/rest/root.py:125\u001b[0m, in \u001b[0;36mApi.login\u001b[0;34m(self, api_token)\u001b[0m\n\u001b[1;32m 116\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Login with token.\u001b[39;00m\n\u001b[1;32m 117\u001b[0m \n\u001b[1;32m 118\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;124;03m JSON response.\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 124\u001b[0m url \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_url(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlogin\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 125\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msession\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpost\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mapiToken\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mapi_token\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mjson()\n", |
| 687 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/requests/sessions.py:637\u001b[0m, in \u001b[0;36mSession.post\u001b[0;34m(self, url, data, json, **kwargs)\u001b[0m\n\u001b[1;32m 626\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpost\u001b[39m(\u001b[38;5;28mself\u001b[39m, url, data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, json\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 627\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Sends a POST request. Returns :class:`Response` object.\u001b[39;00m\n\u001b[1;32m 628\u001b[0m \n\u001b[1;32m 629\u001b[0m \u001b[38;5;124;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;124;03m :rtype: requests.Response\u001b[39;00m\n\u001b[1;32m 635\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 637\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mPOST\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjson\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", |
| 688 | + "File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/session.py:300\u001b[0m, in \u001b[0;36mRetrySession.request\u001b[0;34m(self, method, url, bare, **kwargs)\u001b[0m\n\u001b[1;32m 297\u001b[0m \u001b[38;5;66;03m# Modify the original message on the chained exceptions.\u001b[39;00m\n\u001b[1;32m 298\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_modify_chained_exception_messages(ex)\n\u001b[0;32m--> 300\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m RequestsApiError(message, status_code) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mex\u001b[39;00m\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n", |
| 689 | + "\u001b[0;31mRequestsApiError\u001b[0m: '401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken. Login failed., Error code: 3446.'" |
| 690 | + ] |
| 691 | + } |
| 692 | + ], |
668 | 693 | "source": [ |
669 | 694 | "IBMQ.load_account()\n", |
670 | 695 | "provider = IBMQ.get_provider()\n", |
|
0 commit comments