google oauth2获取令牌javascript帖子请求

时间:2015-07-21 14:37:59

标签: javascript oauth oauth-2.0 google-api google-oauth

我看到了一些关于此的问题和答案,但无法理解该怎么做。 我收到此错误:db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," + "EVENT_TEAM TEXT, EVENT_PLAYER TEXT, EVENT_PLAYER_ID TEXT, EVENT_RESULT TEXT, " + "FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID))"); 正如我在之前的帖子中看到的那样,这是因为我无法向另一台服务器发出HTTP POST请求。我看到了一些关于使用jsonp的事情,但无法理解如何... 这是我用来发送请求的函数:

XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/token. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. The response had HTTP status code 400.

1 个答案:

答案 0 :(得分:1)

您是否注册了应用程序?

  

获取OAuth密钥:

     
      
  • 访问Google Cloud Console
  •   
  • 点击CREATE PROJECT按钮
  •   
  • 输入项目名称,然后单击“创建”
  •   
  • 然后选择API&从侧边栏中验证并单击“凭据”选项卡      
  •   

注意:确保您已打开所需的API。

重要的部分是:授权的Javascript来源:http://localhost:63342 ,您需要自动化您的网站域以访问API。

端点使用不当https://www.googleapis.com/oauth2/v3/token Google Doc

$.ajax({
    url: "https://www.googleapis.com/oauth2/v3/token",
    data: {
        code :"",
        client_id : "",
        client_secret : "",
        redirect_uri : "",
        grant_type : "authorization_code"
    },
    method: "POST",
    success: function(e){console.log(e)}
});