小编whe*_*ker的帖子

401错误"oauth_problem = nonce_used"将产品添加到Magento w/Rest API

尝试使用其余api向Magento添加产品时,返回获得401状态并显示"oauth_problem = nonce_used"消息.奇怪的是,这些产品仍然是进口的,但它真的让我失望,因为我没有得到更新股票信息的产品ID.

Magento安装是全新的(criticalwebhost安装程序)1.7.0.2,我正在使用的代码几乎是从magento站点复制和粘贴的...

$callbackUrl = '****';
$temporaryCredentialsRequestUrl = "*****/oauth/initiate?oauth_callback=".urlencode($callbackUrl);
$adminAuthorizationUrl = '*****/admin/oauth_authorize';
$accessTokenRequestUrl = '*****/oauth/token';
$apiUrl = '*****/api/rest';

$consumerKey = '*****';
$consumerSecret = '******';

try
{
$authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION : OAUTH_AUTH_TYPE_URI;
$oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, $authType);
$oauthClient->enableDebug();

if(!isset($_GET['oauth_token']) && !$_SESSION['state'])
{
  $requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl);
  $_SESSION['secret'] = $requestToken['oauth_token_secret'];
  $_SESSION['state'] = 1;
  header('Location: '.$adminAuthorizationUrl.'?oauth_token='.$requestToken['oauth_token']);
  exit;
} else if($_SESSION['state'] == 1)
{
  $oauthClient->setToken($_GET['oauth_token'], $_SESSION['secret']);
  $accessToken = $oauthClient->getAccessToken($accessTokenRequestUrl);
  $_SESSION['state'] = 2;
  $_SESSION['token'] = $accessToken['oauth_token'];
  $_SESSION['secret'] = $accessToken['oauth_token_secret']; …
Run Code Online (Sandbox Code Playgroud)

api rest oauth magento

10
推荐指数
1
解决办法
5493
查看次数

为什么在 Laravel 中对 Request 对象和 request() 助手使用依赖注入?

像这样将 Request 对象注入控制器方法有什么好处:

use Request;

class WidgetController
{
  public function create(Request $request)
  {
    $name = $request->input('name');
  }
}
Run Code Online (Sandbox Code Playgroud)

与消除 use 语句和对象注入并简单地使用 helper 相比:

class WidgetController
{
  public function create()
  {
    $name = request('name');
  }
}
Run Code Online (Sandbox Code Playgroud)

php dependency-injection laravel laravel-5 laravel-5.6

5
推荐指数
2
解决办法
2674
查看次数

我应该在Laravel Horizo​​n中使用多少个进程?

我已经安装了Laravel Horizo​​n来管理队列,并且在发布的配置中有以下设置:

'local' => [
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['default'],
        'balance' => 'simple',
        'processes' => 3,
        'tries' => 3,
    ],
],
Run Code Online (Sandbox Code Playgroud)

processes设置中:

  • 如何确定在现实应用中应该使用的进程数?
  • 有限制吗?

laravel

5
推荐指数
1
解决办法
419
查看次数

来自 Laravel 集合的 diff() 方法的“PHP 错误:在字符串上调用成员函数 getKey()”

以下是转储的集合:

//$collOne
Illuminate\Database\Eloquent\Collection {#3386
  #items: array:6 [
    4807 => "{"color_id":7,"size_id":4,"pack_id":null}"
    4808 => "{"color_id":7,"size_id":2,"pack_id":null}"
    4809 => "{"color_id":7,"size_id":6,"pack_id":null}"
    4840 => "{"color_id":44,"size_id":4,"pack_id":null}"
    4841 => "{"color_id":44,"size_id":6,"pack_id":null}"
    4842 => "{"color_id":44,"size_id":2,"pack_id":null}"
  ]
}
//$collTwo
Illuminate\Database\Eloquent\Collection {#3403
  #items: array:5 [
    430 => "{"color_id":7,"size_id":4,"pack_id":null}"
    431 => "{"color_id":7,"size_id":2,"pack_id":null}"
    433 => "{"color_id":44,"size_id":4,"pack_id":null}"
    434 => "{"color_id":44,"size_id":6,"pack_id":null}"
    435 => "{"color_id":44,"size_id":2,"pack_id":null}"
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

{
    "message": "Call to a member function getKey() on string",
    "exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",
    "file": "[obfuscated]/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php",
    "line": 281,
    "trace": [
        {
            "file": "[obfuscated].php",
            "line": 174,
            "function": "diff",
            "class": "Illuminate\\Database\\Eloquent\\Collection",
            "type": "->" …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-collection laravel-5.7

4
推荐指数
1
解决办法
6818
查看次数

二和 Leetcode 解释、Hashmap、Javascript

我只是想知道谁能一步一步解释这个解决方案的算法。我不知道 hashmap 是如何工作的。你能不能给出一个使用哈希图的基本例子来让我理解这个算法。谢谢!

var twoSum = function(nums, target) {
  let hash = {};

  for(let i = 0; i < nums.length; i++) {
    const n = nums[i];
    if(hash[target - n] !== undefined) {
      return [hash[target - n], i];
    }
    hash[n] = i;
  }
  return [];
}
Run Code Online (Sandbox Code Playgroud)

javascript algorithm hashmap

1
推荐指数
1
解决办法
1241
查看次数