菜鸟教程小白 发表于 2022-12-11 21:23:57

ios - Facebook ios sdk Graph 请求只允许一个字段作为参数


                                            <p><p>我正在开发一个需要 facebook 登录和用户详细信息的应用程序。但是,我在以前的应用程序中用于 fb 登录的相同代码不起作用,我需要为每个字段(如姓名、电子邮件、图片等)发出单独的图形请求。</p>

<p>基本上,每当我尝试执行以下操作时:</p>

<pre><code>connection.add(GraphRequest(graphPath: &#34;/me&#34;, parameters:[&#34;fields&#34;:&#34;email, name, picture&#34;])) { httpResponse, result in
                switch result {
                case .success(let response):
                  guard let userInfo = response.dictionaryValue else {
                        return
                  }
                  userDict[&#34;email&#34;] = userInfo[&#34;email&#34;]! as Any
                  UserDefaults.standard.set(userDict[&#34;email&#34;], forKey: userKeys.email)
                case .failed(let error):
                  print(&#34;Graph Request Failed: \(error)&#34;)
                }
            }
</code></pre>

<p>我收到此错误:</p>

<pre><code>Graph Request Failed: Error Domain=com.facebook.sdk.core Code=8 &#34;(null)&#34; UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Syntax error &#34;Expected end of string instead of &#34;%&#34;.&#34; at character 5: email%2C%20name%2C%20picture, com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=2500, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body =   {
    error =         {
      code = 2500;
      &#34;fbtrace_id&#34; = &#34;FIc1yiUL+1z&#34;;
      message = &#34;Syntax error \&#34;Expected end of string instead of \&#34;%\&#34;.\&#34; at character 5: email%2C%20name%2C%20picture&#34;;
      type = OAuthException;
    };
};
code = 400;
</code></pre>

<p>当我这样做时出现类似的错误:</p>

<pre><code>connection.add(GraphRequest(graphPath: &#34;/me&#34;, parameters:[&#34;fields&#34;:&#34;picture.type(large)&#34;]))
</code></pre>

<p>但是,当我将单个字段作为参数输入时,它不会出错。</p>

<p>任何帮助将不胜感激:)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我在尝试使用最新版本时也遇到了同样的错误。我建议你降级到以前的版本。对我来说,以下版本工作正常:</p>

<pre><code>pod &#39;FBSDKCoreKit&#39;, &#39;~&gt; 4.38.0&#39;
pod &#39;FBSDKLoginKit&#39;, &#39;~&gt; 4.38.0&#39;
</code></pre>

<p>之后运行</p>

<p><code> pods 解体</code></p>

<p><code>pod 安装</code></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Facebook ios sdk Graph 请求只允许一个字段作为参数,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/53910131/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/53910131/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Facebook ios sdk Graph 请求只允许一个字段作为参数